• 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: October 21st, 2023

help-circle



  • Can you share where you saw “threatening to arrest and froze bank account”? Twitter made a post on their own page about something along the line. Other than that I couldn’t find any.

    The resignation of the legal representative has more nuance than what you said here. His (not her) name is Diego de Lima Gualda, an attorney in Brazil. After a series of non compliance from Twitter, the Twitter Brazil filed a request arguing that the Twitter international is responsible for compliance and Twitter Brazil does not have authority. The judge dismissed this request for obvious reasons, and the next day he resigned from the position.

    The non compliance led to resignation. This is crucial because the actions of Twitter are the reason why the legal representative faced the consequences. Not that the judge ordered something out of the blue. I think you are missing the key point here.

    Obviously censorship is bad. There is no contention in that. My point is this order is the last one in the long standing feud between Musk and Moraes. Musk has been so aggressive in personally attacking the judge. So portraying the judge as someone going on a power trip is not the accurate picture.

    Edit: Adding more info here. The entire information on the freezing bank account and arrest of the legal representative of Twitter Brazil, is from the Twitter Global Affairs handle. They published a “secret order” from the judge. A few things I noticed are these looks like cherry picked pages of a bigger document due to lack of continuity between page 1 and 2. Usually court orders will include the full context of the petition. Second point is the obvious circumventing strategy the Global Affairs of Twitter also states. They reiterate that only “Twitter International” is responsible for compliance, and not “Twitter Brazil”. This absurd argument introduces the problem of jurisdiction. This is just Twitter trying to fly above the law.

    Earlier I said the legal representative was Diego de Lima Gualda, after his resignation they informed that Rachel de Oliveira Vila Nova Conceição will be the new representative. The order says:

    indicates that the representative of the company X BRASIL INTERNET LTDA., RACHEL DE OLIVEIRA VILLA NOVA CONCEIÇÃO, acting in bad faith, is trying to avoid the regular notification of the decision handed down in the proceedings, including by electronic means, of which she has already demonstrated knowledge, with the aim of frustrating its compliance.

    Therefore, given the negative ruling of the summons and the reported impossibility of contacting the legal representative of the aforementioned company, I DETERMINE THAT the lawyers legally appointed by X BRASIL INTERNET LTDA. be IMMEDIATELY INTIMATED, including electronic means, so that they adopt the necessary measures to comply with the order, within 24 (twenty-four) hours, under penalty of:

    (1) DAILY FINE OF R$20,000.00 (twenty thousand reais) to company administrator, RACHEL DE OLIVEIRA VILLA NOVA CONCEIÇÃO (CPF 255.747.418-57), CUMULATIVE THAT IMPOSED ON THE COMPANY, as well as DECREE OF PRISON for disobeying a court order;

    I think these words are self explanatory. Twitter tried to delay the compliance just by making the legal representative unreachable. This along with the argument that Twitter Brazil is not responsible shows a clearer picture of what Twitter was trying to do and what actually happened. Again I don’t see where the “bank account freezing” is written.

    Edit 2: I forgot to state the obvious. The representative who resigned is not the one who faced fines or “decree of prison”. These are two different representatives. Again the representative is facing this because of the actions of Twitter. This is not a case of judicial activism.


  • Hey I understood what you meant. The result that you are trying to achieve is very close to the browser caching normally present is what I meant. When you zoom in it will only load that area. And I don’t think you can specify the number of tiles to be a specific number, since the zoom levels are not linear.

    The offline leaflet I shared in the previous comment actually does the same thing you want to achieve. The difference is the offline mode is discarded immediately when the system is back online. So that library could be modified to incorporate the time dependency and users visiting a point again I specified in the last comment, at least in theory.

    Regarding OSM data, there are zip files available for downloading. Geofabrik and openstreetmap.fr are examples. Another tool is Protomaps, where you can download by drawing a polygon. But these are not going to be the ideal solution for a product like Immich.

    By the way I saw your update. Great job on following up and providing a fix for others. I really really appreciate it.


  • If you are asking about vector maps, I am not really sure, because I have no experience with it. So can’t really comment on that. On raster maps, as you already know every tile is a PNG. The behaviour you described is very similar to the client side caching that usually happens in the browser. Depending on the coordinates in the viewport and zoom level the server provides the tiles.

    Usually to save the map most offline map making tools will ask you to draw a rectangle and select the required zoom levels. In an interactive map, the rectangle is the viewport of the device. So there can be a feature which will download and store the tiles around a specific gps location for a fixed geographical area. That should be doable without much issue. But in this case that may not be a good idea.

    If you visualise all zoom levels stacked over each other, the images need to be retrieved when the user zooms into a point the geographical area will not stay the same. Smaller geographical area is only needed with higher zoom levels. If we only take all the tiles that get downloaded in every layer, it may produce a shape similar to an inverted pyramid. So saving the images as a user zooms in for the first time, may be the best idea.

    Then the saved tiles need to be used again when users zoom in the same area. Also these tiles need not be updated frequently and maybe even once in every 3 months might be enough, that too only when the user zooms in again in that area.

    This can be a little tricky as almost all the tools that create offline maps do it for a fixed area and selected zoom levels, every point in that area gets equal priority. But in this case the point is the important element. The area nearby may not be relevant at all. So that is the part that needs some exploration.


  • I read through your comments and the reply from devs regarding OSM. I will add a few points that can be part of the feature request. I have some experience dealing with maps, and my understanding is you can set up an offline version of OSM, which will get updated only when required.

    leaflet.offline is a library which provides a similar functionality. I think with some modifications this can be implemented to significantly reduce the load on OSM that using it directly.

    Even with a very large zoom level say 11 to 15, a large area of maps takes like a few hundred MBs. We once cached the entire region of California with all the details and it was around 240 MB IIRC. But Immich does not need this much details and it is possible to restrict zoom levels to certain details.

    For someone self hosting several hundreds of GBs of photos, this should be doable without using too much storage. I think the problem will be that this is a huge engineering effort. Depending on the priority of the feature it may not be easy to do this.

    There is a site called Switch2OSM which details almost everything you need to know. The previous link is on how to serve map tiles on your own. Again it is a daunting task and not suitable for everyone.

    If anyone needs a live update of OSM as things get added, look into the commercial offerings.

    In conclusion, it is possible to include a highly optimised version of OSM, instead of putting their servers under heavy load. The catch is, it is not easy and will need a huge engineering effort. I think developers should take a call on this.




  • Here one crucial element that needs to be highlighted is Syncthing is decentralised by design. I mean it is different from a server-client way of thinking. It is very much like how git stores content, if you are familiar with it.

    For example, let us say I have 5 devices and there is a folder I want in all my devices kept in sync. Since there is no server, to propagate updates made in one device (let us call it Source Device) to other devices, it has to happen either directly, or indirectly. Here I’m assuming all 5 devices are configured to communicate with each other directly.

    Whenever one of the other 4 devices (Device 1) becomes ‘online’ at the same time as of Source Device, the sync will happen. This is the direct way. The indirect one is, let us say after the sync happened between Source Device and Device 1, the Source Device goes ‘offline’, but the Device 1 continues to be ‘online’, now if Device 2 comes online, the change will be propagated from Device 1 to Device 2.

    Note that the assumption, one device configired with all other devices is not the case, propagation of change has to take a path that similar to indirect way, even if all the devices are simultaneously online.

    This configuration, where each device is configured to communicate with all other, is a pain to maintain, since Syncthing is not designed like a publish-subscribe model. What people usually do is, an always-on device (usually a server) is used as one of the devices that need to be kept in sync. Again, this is not a client server model, but each device is a ‘node’, and the always-on device is also just another node.

    As you already experienced, it is very easy to get sync conflicts, if a folder is shared between multiple users, because of this decentralised design. In my opinion Syncthing works best for a single user. My use cases are, syncing my notes between pc and mobile, sync files scanned with the mobile to my pc, etc.

    If your case is more focused on multiple users, WebDAV server can be an option. But again it’s not straight forward and may not cover all use cases. Depending on what you are trying to achieve, a tool more suitable might be available. For example, if the aim is collaborative development there is Iroh (Still in early stages of development)

    I hope this helps.