freedomPusher

joined 3 years ago
MODERATOR OF
[–] freedomPusher@sopuli.xyz 1 points 5 months ago

Wish I could see it. www.onem.be seems to be dropping my packets.

[–] freedomPusher@sopuli.xyz 12 points 5 months ago* (last edited 5 months ago) (3 children)

“One more step…”

Nothing like a privacy abusing Cloudflare site to expose privacy abuse. If anyone has openly accessible Cloudflare-free links, or can post the info for the excluded people, plz post.

[–] freedomPusher@sopuli.xyz 1 points 5 months ago

eclic.ro is an exclusive Cloudflare site just like change.org is. Exclusivity is obviously quite lousy for democracy. Better alternatives are here:

https://codeberg.org/swiso/website/issues/140

[–] freedomPusher@sopuli.xyz 1 points 5 months ago* (last edited 5 months ago)

privacytools.io always was shit show even before the infighting. They put their own endorsement site on Cloudflare. Despite a collossal pile of dirt emerging on #Signal:

https://github.com/privacytools/privacytools.io/issues/779

PTIO continued endorsing Signal non-stop, refusing to disclose the issues. That was also before the breakup. Dirt was routinely exposed on PTIO endorsements and it never changed their endorsement nor did they reveal the findings on their website.

Now both factions are hypocrits just as they were when they were united. The original PTIO site is back to being Cloudflared (nothing like tossing people coming to you for privacy advice into the walled garden of one of the most harmful privacy offenders), and Privacy Guides has setup on a CF’d Lemmy node. The hypocrisy has no end with these people.

[–] freedomPusher@sopuli.xyz 2 points 5 months ago (1 children)

Interesting, but that does not help because Mint jails all their docs in Cloudflare.

[–] freedomPusher@sopuli.xyz 2 points 5 months ago* (last edited 5 months ago) (2 children)

Also worth noting that #Ubuntu and #Mint both moved substantial amounts of documentation into Cloudflare (the antithisis of the values swiso claims to support). I have been moving people off those platforms.

BTW, prism-break is a disasterous project too. You know they don’t have a clue when they moved their repo from Github.com to Gitlab.com, an access-restricted Cloudflare site. There are tens if not hundreds of decent forges to choose from and PRISM Break moved from the 2nd worst to the one that most defeats the purpose of their constitution.

It might be useful to find dirt on various tech at prism-break, but none of these sites can be trusted for endorsements.

The prism-break website is timing out for me right now. I would not be surprised if they were dropping Tor packets since they have a history of hypocrisy.

[–] freedomPusher@sopuli.xyz 2 points 5 months ago

If you look in their bug tracker, it actually reveals that they ignore dirt that has been dug up on their suggestions.

[–] freedomPusher@sopuli.xyz 1 points 5 months ago* (last edited 5 months ago) (1 children)

As others have mentioned there is little in the way of justification for these suggestions, and while I happen to agree with plenty of them, I’d personally like to see more reasoning, if not to appease people that already have opinions then to help newer users understand their options.

Indeed. In fact it’s actually worse than you describe. Swiso witholds negative information. They don’t want to inform people. They want to steer people. For example, swiso’s endorsements for donation platforms have some quite serious problems:

https://codeberg.org/swiso/website/issues/141

swiso is also aware of the serious issues with Qwant and the serious issues with DuckDuckGo. Not only failing to remove them but also failing to inform. Qwant and DDG are both Microsoft syndicates!

(if anyone is interested, one of the most privacy-respecting search services is Ombrelo¹, which is largely unknown to the world because PTIO, swiso, and prism-break don’t do the job they claim to do)

And swiso is aware because that’s their bug tracker.

/cc @Imprint9816@lemmy.dbzer0.com

¹ https://ombrelo.im5wixghmfmt7gf7wb4xrgdm6byx2gj26zn47da6nwo7xvybgxnqryid.onion/

[–] freedomPusher@sopuli.xyz 1 points 5 months ago* (last edited 5 months ago)

There are a few good alternatives and swiso has been aware of them for ~4+ years:

https://codeberg.org/swiso/website/issues/140

[–] freedomPusher@sopuli.xyz 1 points 5 months ago* (last edited 5 months ago)

I can see that you’re upset about cloudfare being forced on anyone using the large instances.

This implies some kind of emotional drive and disregards the nuts and bolts of the actual problem. The breakage that manifests makes the fedi less usable and more exclusive, which the design rightfully tries to avoid but falls short. CF being pushed on ppl using large instances is not at all the issue. That’s self-inflicted harm. Cloudflare and big instances both independently pose a centralization problem which can easily be condemned together. Neither form of centralisation benefits the fedi. The fact that CF-centralised nodes and disproportionately large nodes tend to be the same nodes is the universe organising the garbage together -- like when Bayar and Monsanto merged. Easier to deal with the baddies when they are consolidated.

lemmy.ml less trivialThe lemmy.ml instance is less trivial because it’s disproportionately large, but they shrunk a bit and ditched Cloudflare. They bring a lot of political baggage, but they are also said to be less tyrannical than they were in the past. So what how to treat lemmy.ml is questionable and messy.

You’re right that the large instances are not democratically governed,

Yes but to be clear, governance is your focus not mine. I’m saying centralized instances are detrimental no matter how they are governed. If they are well-governed then you might say they are more likely to be decentralized, but then of course users could decide to unblock them if they achieve that.

But more importantly, most people just aren’t going to do that.

This is more of the “people don’t boycott” logic. First of all, the perception that people do not boycott does not justify stripping people of their power to boycott. The feature I propose gives people boycott power. And not only that, it gives them a way to function -- a way to get the exclusive junk and broken images off their screen.

how my Twitter boycott paid offI was on Twitter long before elon took it, and before phone numbers were required. When Twitter started demanding a mobile phone number from me, I walked. Boycotted. Not long after that I got news that Twitter was caught selling users’ personal data which was inconsistent with the privacy policy. Then shortly after that announcement, it was announced that cybercriminals breached Twitter and stole people’s personal info anyway. My boycott was not emotion driven. It was me making a calculated decision not to trust Twitter with my profitable data, and me deciding not to help Twitter profit from their policy of exclusion (people denied access who do not have mobile phones). And it was the right move. It paid off in the form of not being a victim. I’m grateful that I had boycott power. If boycott power is available but underutilized, the idiots who don’t use it can blame themselves.

The solution should be addressed at a system and process level, not by relying on people making personal choices.

This is a bit false dichotomy-ish. People should be empowered with agency to control their own interactions. That empowerment does not obviate system-wide improvements. It complements them.

But again, what I’m driving at is let’s get big, but do so democratically.

It’s defeatist. To grow disproportionately is to be centralised. Good governance is useless if it fails to prevent centralization. Maybe good governance can lead to a detrimentally centralised instance splitting into many decentralised instances, at which point those nodes are participating in the free world.

If some giant node organises a democratic process, it’s not for me or anyone to stop them. The feature I propose does not interfere with that in the slightest.

::: spoiler A democratic process still produces shitty results & cannot be relied on Everyone might decide to save money and use Cloudflare anyway. It’s shocking how many people see no problem with Cloudflare. And it’s mind-boggling how selfish people can be in large numbers. Xenophobic Trump supporters shows at what great scale it can happen on. Another example: a majority of the population has a mobile phone subscription, and a majority is also not ethically opposed to tax-funded public services that exclude non-mobile subscribers (e.g. like a public library requiring SMS confirmation to use wifi). They will vote for what benefits them personally at the detriment of the minority. So if a democratically controlled service opts for Cloudflare anyway, it’s the same problem. People marginalised by Cloudflare still need tools to tailor their view to show venues where they are included.

It’s great to have our little corner of the world that’s sun and roses, but as long as there are giants roaming around we’re at their whim and will eventually get stepped on.

You are literally advocating for the status quo that causes the giants to step on the rest. My searches are clobbered to a dysfunctional extent because these shitty exclusive nodes fill the top results (that’s another bug I already exposed in this community).

Sure, we can boycott mcdonalds, but we’re essentially begging them to make a change.

Not at all. Begging them to change is the position you take when you neglect to boycott -- begging is the shitty option you have. I’m not begging. I walk. McDs can fuck right off. They get zero begging from me. To keep feeding McDs is to be in that disempowered defeatist position of weakness. In the case at hand, enough people made the right decision to put McDs in the begging position; begging for customers to return.

[–] freedomPusher@sopuli.xyz 1 points 5 months ago* (last edited 5 months ago) (2 children)

What would be an acceptable outcome for you?

You seem to be asking for a book here. The requested feature is just one facet of a multifaceted problem -- to diminish the centralisation problem. One specific benefit we get from this one feature is the ability to get rid of the exclusive content that pollutes the timeline. Part of living in the free world is getting the non-free world out of the way. I need a view of the free world showing only venues where I am not excluded.

Instances close because people stop running them, not because other larger instances exist.

These two reasons are intertwined in a causal relationship.

Ultimately people vote with their feet, so if you want to see more smaller instances they need to become more appealing than large ones.

That’s not the only way. The small instances are buried in litter. Clearing the litter out of the way is a much simpler and much more effective way to see the smaller instances.

Also not sure what you mean by seven instances under one corporation? Are you talking about cloudflare or are you saying they’re all run by the same entity?

All seven instances are Cloudflare-centralised. They all give CF a view of all traffic (public and private) and they all arbitrarily discriminate against the same demographics of people. If you are denied access to one of them, you are denied access to all of them. Exceptionally, programming .dev has whitelisted Tor. But that’s just one demographic; that instance still blocks all the other demographics excluded by Cloudflare’s blockade. So users are all being controlled by the same entity.

I don’t like Amazon. Why do people use it? Because it’s convenient, it has the stuff they’re looking for, and it has that stuff at low prices. If we want people to use an alternative, we won’t do it by trying to guilt them to use a more expensive and inconvenient option.

You seem to be claiming boycotts do not work, IIUC. When it became widely known that McDonalds was giving free meals to Israeli soldiers, high numbers of people gave up the convenience and pricing that attracted them to McDs. McDs is a franchise, so different shops have different owners. McDs was forced to directly buy all the shops owned by the Israli who was giving away free meals, just to cancel that policy, just to protect the McDs brand.

Of course there are always unethical consumers. Some consumers continued eating McDs non-stop. Ethical consumers have integrity, a spine/constitution, and they practice it. They should be equipped to empower their ethical choices.

consider LidlLidl was caught relabeling their Israel-sourced produce with the name of a different country in order to deceive consumers who boycott Israel. The feature I’m requesting would be hypothetically comparable to a single button robot.. a “hide Israeli produce” button. If I press it, the Israel sourced food is robotically covered to make it easier for me to find the products I’m interested in. Or along the same lines, a vegan shopper with a “hide all animal-based products” button. Ethical consumers exist and they need to be empowered with good tools.

To change the status quo Amazon can get hit with antitrust law and prosocial regulation

I could write a book on all the reasons to boycott Amazon. Amazon exploits legal loopholes. They are organise their business to get away with murder (legally, or without detection). If you wait for regulators to find some cause to slap them on the wrist, it’d be a pitiful demonstration of non-activism. The very first best move to make is to stop being a part of the problem yourself by not feeding Amazon. From there, there are countless other activist actions you can take without just waiting for them to somehow shoot themselves in the foot.

Be the change you want to see.

The per user cost goes down the more users there are, and the network effect means more users will go towards bigger instances. So fine, let an instance get big, but let it be democratically controlled and funded.

The best thing you can do is walk away from the instance, not feed it or participate in any way. AFAIK, none of the seven have this democratic structure. But if they did, it’s still a harmful force because you still have a centralised policy that affects a disproportionate number of people and which also keeps smaller instances small.

[–] freedomPusher@sopuli.xyz 2 points 5 months ago* (last edited 5 months ago)

Mastodon is not niche. Mastodon is a diverse community of nerds and low tech people, artistic brains and analytical brains, white collar workers and blue collar workers. A substantial portion of Mastodon is from Reddit refugees. Reddit is no more niche than Facebook.

The greater Mastodon venue who that poll reached lacks right wing conservatives, who tend to stay in their bubble of extremist networks. That does not make Mastodon “niche”. Running the same survey on a right wing Mastodon node might be interesting, but we can see from the linked poll that political affiliation is generally orthoganol on this issue.

 

cross-posted from: https://sopuli.xyz/post/13489053

In the onion v2 days we had underwood2hj3pwd.onion. There were half a dozen other onion email providers but Underwood was the only one that did not have a clearnet email alias (IIRC). That was a useful feature because you could distribute an onion address to a MS Outlook or Gmail user and they could not use it to share their correspondence to you with Google or MS in the loop. They had just two options: step off the ad surveillance platform or not contact you at all. That option died with Underwood.

The other onion email services all have a clearnet translation. So if (for example) I give a gmail user this address:

foo@yllvy3mhtamstbqzm4wucfwab57ap6zraxqvkjn2iobmrtxdsnb37dqd.onion

and they are motivated to reach me, they can figure out that the corresponding clearnet alias is foo(/at/)onionmail.info and then they can use that address to send me a msg that is then shared with their surveillance advertiser. And worse, that’s less effort for them than obtaining an onion email account.

So what I do now is give an XMPP account. Since Google has abandoned jabber and MS never partook, XMPP avoids Google and MS. But XMPP is not a drop-in replacement for email. OMEMO is glitchy/buggy with pitfalls.

I would like to offer an email option. Ideally, an onion email service would offer a clearnet alias that cannot be determined from the onion address, which implies a different userid string.

 

Those who condemn centralised social media naturally block these nodes:

  • #LemmyWorld
  • #shItjustWorks
  • #LemmyCA
  • #programmingDev
  • #LemmyOne
  • #LemmEE
  • #LemmyZip

The global timeline is the landing page on Mbin nodes. It’s swamped with posts from communities hosted in the above shitty centralised nodes, which break interoperability for all demographics that Cloudflare Inc. marginalises.

Mbin gives a way for users to block specific magazines (Lemmy communities), but no way to block a whole node. So users face this this very tedious task of blocking hundreds of magazines which is effectively like a game of whack-a-mole. Whenever someone else on the Mbin node subscribes to a CF/centralised node, the global timeline gets polluted with exclusive content and potentially many other users have to find the block button.

Secondary problem: (unblocking)
My blocked list now contains hundreds of magazines spanning several pages. What if LemmEE decides one day to join the decentralised free world? I would likely want to stop blocking all communities on that node. But unblocking is also very tedious because you have to visit every blocked magazine and click “unblock”.

the fix


① Nix the global timeline. Lemmy also lacks whole-node blocking at the user level, but Lemmy avoids this problem by not even having a global timeline. Logged-in users see a timeline that’s populated only with communities they subscribe to.

«OR»

② Enable users to specify a list of nodes for which they want filtered out of their view of the global timeline.

 

While composing this post the Lemmy web client went to lunch. This is the classic behaviour of Lemmy when it has a problem. No error, just infinite spinner. After experimentation, it turns out that it tries to be smart but fails when treating URLs written with the gemini:// scheme.

(edit) It’s probably trying to visit the link for that convenience feature of pre-filling the title. If it does not recognise the scheme, it should just accept it without trying to be fancy. It likely screws up on other schemes as well, like dict, ftp, news, etc.

The workaround is to embed the #Gemini link in the body of the post.

 

The linked¹ #gemini article is the political platform of the French green party in Belguim w.r.t. digital rights. It was translated from French.

I’m overall impressed enough to vote for them. But I do have some concerns:

“At the Belgian level, we propose to establish a legal guarantee of 5 years for new electronic devices.”

Yikes, waaay too short. Needs to be at least 10 years. But it helps that they advocate FOSS:

“Generalize the ability to use free software on all devices to decrease software obsolescence.”

Though this statement is far too vague. If a maker of hardware with proprietary non-free software only gives 5 years of support, there needs to be a legal obligation that they port FOSS to the device at the end of the warranty. This is missing in the green party’s plan.

A lot of other things are missing in their plan, but generally their principles are sensible.

¹ (edit) actually it cannot be linked using the URL field due to a #LemmyBug. But at least it was linkable in the msg body.

 

Belgian elections are today. Mailbox flyers for political candidates often show profiles in exclusive walled gardens (Facebook, TikTok, LinkedIn, Twitter, Instagram). And they often have email addresses at hotmail, gmail, or outlook. They are betting on #digitalExclusion. I am cancelling all of them regardless of party.

nuancesAll policians likely have a Facebook acct. That’s a sad state of affairs, but merely having an account does not get them cancelled. A cancellable offense is public displays that flaunt their digital exclusion. It’s despicable when their flyer pushes people into US walled gardens with no way to reach them in the free world.

I am also cancelling five whole parties for undermining democracy via digital exclusion by using Cloudflare for the party’s own website. Digital rights are important in 2024, particularly for democracy, as we are increasingly being disempowered by power abuses through forced use of oppressive technology. Direct Tor blocking? Also cancelled.

I am also cancelling all extreme right parties on general principle. And even slightly right if “immigratie stoppen” is something they are misfocused on.

Who’s left? I think I’ll be voting none of the above on a lot of positions because they don’t clear my basic bare minimum bar of digital decency.

(edit) maybe ecolo has a chanceNo one represents me, apart possibibly from Ecolo. But superficially, it seems contradictory that a “green” party proposes making energy cheaper for a broader demographic of people. That obviously removes pressure to conserve energy.
(update) ecolo looks like a winner

 

I think the stock Lemmy client stops you from closing a browser tab if you have an editor open on a message, to protect you from accidental data loss.

Mbin does not.

 

It’s interesting to visit threads from an mbin instance because it shows you the number of up votes and down votes. When I see a Lemmy thread with 10 up votes then I go over to visit the same thread from mbin and see 20 up votes and 10 down votes, it really gives a different perspective.

 

A vast majority of the fediverse (particularly the threadiverse) is populated by people who have no sense of infosec or privacy, who run stock browsers over clearnet (e.g. #LemmyWorld users, the AOL users of today). They have a different reality than street wise people. They post a link to a page that renders fine in the world they see and they are totally oblivious to the fact that they are sending the rest of the fediverse into an exclusive walled garden.

There is no practical way for street wise audiences to signal “this article is exclusive/shitty/paywalled/etc”. Voting is too blunt of an instrument and does not convey the problem. Writing a comment “this article is unreachable/discriminatory because it is hosted in a shitty place” is high effort and overly verbose.

the fix


The status quo:

  • (👍/👎) ← no meaning.. different people vote on their own invented basis for voting

We need refined categorised voting. e.g.

  • linked content is interesting and civil (👍/👎)
  • body content is interesting and civil (👍/👎)
  • linked article is reachable & inclusive (👎)¹
  • linked is garbage free (no ads, popups, CAPTCHA, cookie walls, etc) (👍/👎)

¹ Indeed a thumbs up is not useful on inclusiveness because we know every webpage is reachable to someone or some group and likely a majority. Only the count of people excluded is worth having because we would not want to convey the idea that a high number of people being able to reach a site in any way justifies marginalization of others. It should just be a raw count of people who are excluded. A server can work out from the other 3 voting categories the extent by which others can access a page.

From there, how the votes are used can evolve. A client can be configured to not show an egalitarian user exclusive articles. An author at least becomes aware that a site is not good from a digital rights standpoint, and can dig further if they want.

update


The fix needs to expand. We need a mechanism for people to suggest alternative replacement links, and those links should also be voted on. When a replacement link is more favorable than the original link, it should float to the top and become the most likely link for people to visit.

 

Some will regard this as an enhancement request. To each his own, but IMO *grep has always had a huge deficiency when processing natural languages due to line breaks. PDFGREP especially because most PDF docs carry a payload of natural language.

If I need to search for “the.orange.menace“ (dots are 1-char wildcards), of course I want to be told of cases like this:

A court whereby no one is above the law found the orange  
menace guilty on 34 counts of fraud..

When processing a natural language a sentence terminator is almost always a more sensible boundary. There’s probably no command older than grep that’s still in use today. So it’s bizarre that it has not evolved much. In the 90s there was a Lexis Nexus search tool which was far superior for natural language queries. E.g. (IIRC):

  • foo w/s bar :: matches if “foo” appears within the same sentence as “bar”
  • foo w/4 bar :: matches if “foo” appears within four words of “bar”
  • foo pre/5 bar :: matches if “foo” appears before “bar”, within five words
  • foo w/p bar :: matches if “foo” appears within the same paragraph as “bar”

Newlines as record separators are probably sensible for all things other than natural language. But for natural language grep is a hack.

 

cross-posted from: https://sopuli.xyz/post/13155149

other people’s iPhones more intrusive than other people’s droids


According to the linked research, all iPhones are spying on everyone within Wi-Fi range. If your phone of any kind is squawking wi-fi, all in-range iPhones are grabbing various bits of data like your MAC address and the SSIDs your phone normally looks for (e.g. your home SSID) and reports that back to Apple along with time and location data. The same study could not say the same for Google. So other people’s iPhones are more of a privacy intrusion to you than other people’s droids.

your own iPhone is less intrusive than your own droid when navigating


However, another study shows an inversion between Apple and Google when it comes to what you own and use for navigation. If you use an iPhone for navigation, the iPhone will only send one or two BSSIDs near you to Apple’s server, and the server then floods you with detailed information about other possible BSSIDs around you and their position, so your own device computes your precise location, not Apple’s servers.

Whereas if you navigate using Google’s location services, your device feeds everything to Google and Google’s server does all the work, computes your precise location, and tells you. This is of course more intrusive because Google learns your precise location and time, and (IMO) is likely interested in whatever shop you might be in.

These two studies actually seem superficially contradictory. But there is a difference between ratting out other portable devices and reporting stationary devices.

free-world proponents might be able to exploit Apple for better nav


In any case, the take-away for people living in the free world: forget about using Google Location Services to improve your navigation if you do not want to feed Google your precise location. OTOH, there seems to at least be a theoretical possibility for people not pawned by tech giants to use Apple’s API to get better-than-GPS navigation. Though I suspect it would mean many people would have to share someone’s sacrificial Apple account or get burner accounts.

I’m always on the look out for ways to improve my shitty navigation on a deGoogled phone that’s limited to a slow energy hungry GPS receiver -- without feeding the baddies.

 

Nano Garden was a node for the Nano cryptocurrency. There is was a “cashless society” community which is now a ghost community:

https://sopuli.xyz/c/cashless_society@nano.garden

I would normally say refugees should move to !cash@slrpnk.net, but it looks like there aren’t many refugees. It always was relatively dead. Which is a shame. There needs to be more people talking about the consequences of #forcedBanking.

 

cross-posted from: https://sopuli.xyz/post/13133455

It used to be that you could insert a coin into a washing machine and it would simply work. Now some Danish and German apartment owners have decided it’s a good idea to remove the cash payment option. So you have to visit a website and top-up your laundry account before using the laundry room.

Is this wise?

Points of failure with traditional coin-fed systems:

  1. your coin gets stuck
  2. you don’t have the right denomination of coins

Points of failure with this KYC cashless gung-ho digital transformation system:

  1. your internet service goes down
  2. the internet service of the laundry room goes down
  3. the website is incompatible with your browser
  4. the website forces 3rd party JavaScript that’s either broken or you don’t trust it
  5. you cannot (or will not) solve CAPTCHA
  6. the website rejects your IP address because it is a shared IP
  7. the payment processor rejects your IP address because it is a shared IP
  8. the bank rejects your IP address because it is a shared IP
  9. the payment processor is Paypal and you do not want to share sensitive financial data with 600 corporations
  10. the accepted payment forms do not match your payment cards
  11. the accepted payment form matches, but your card is still rejected anyway for one of many undisclosed reasons:
    • your card is on the same network but foreign cards are refused
    • the payment processor does not like your IP address
    • the copy of your ID doc on file with the bank expired, and the bank’s way of telling you is to freeze your card
    • it’s one of these new online-only bank cards with no CVV code printed on the card so to get your CVV code you must install their app from Google’s Playstore (this expands into 20+ more points of failure)
  12. your bank account is literally below the top-up minimum because you only have cash and your cashless bank does not accept cash deposits; so you cannot do laundry until you get a paycheck or arrange for an electronic transfer from a foreign bank at the cost of an extortionate exchange rate
  13. you cannot open a bank account because Danish banks refuse to serve people who do not yet have their CPR number (a process that takes at least 1 month).
  14. you are unbanked because of one of 24 reasons that Bruce Schneier does not know about
  15. the internet works when you start the wash load, but fails sometime during the program so you cannot use the dryers; in which case you suddenly have to run out and buy hanging mechanisms as your wet clothes sit.

In my case, I was hit with point of failure number 11. Payment processors never tell you why your payment is refused. They either give a uselessly vague error, or the web UI just refuses to move forward with no error, or the error is an intentional lie. Because e.g. if your payment is refused you are presumed to be a criminal unworthy of being informed.

Danish apartment management’s response to complaints: We are not obligated to serve you. Read the terms of your lease. There is a coin-operated laundromat 1km away.

Question: are we all being forced into this shitty cashless situation in order to ease the hunt for criminals?

view more: ‹ prev next ›