Blur Tools for Signal - <AUTHOR> https://signal.org/blog/blur-tools/ <comment><USER2> Without sold proof this is not possible to circumvent, this maybe more dangerous than not.

Here's an example of AI being able to identify a blurred face: [https://twitter.com/ak92501/status/1267609424597835777](https://twitter.com/ak92501/status/1267609424597835777)

Identifying an individual is not just about a face, but number of factors that are much more complex and very hard to account for in a systematic way.

—-

If Signal is really concerned about allowing individuals to control the information they leak, they need to prioritize releasing the feature that will allow users to use Signal without providing phone numbers; one of their staff recently publicly stated this is finally likely to become a feature. Not to mention stop repeatedly asking for the user to provide their name, access to contacts lists, etc.

<comment><USER3> That's not removing blur, that's making a face (out of millions) that matches the same pixellization. There's no telling what the original face was, and it's disingenuous that they don't show you the original photo.

<comment><USER4> At the end of the video they posted[1], they show the original photos of the authors, the downscaled inputs, and the outputs.

[1] [https://twitter.com/ak92501/status/1267609090689323008](https://twitter.com/ak92501/status/1267609090689323008)

<comment><USER5> And, IMHO they don't look like the same person any more, at all.

</comment></comment></comment></comment><comment><USER6> I don't doubt that Signal has put a significant amount of effort into making sure its blurs can't be reversed. But when I look at the results in the photo, I don't understand _why_ they would put in that effort. Why derive a blur from the base photo at all?

Things that seem way easier to me:

A) blacking out the face entirely with a solid color,

B) if that looks ugly, replacing it with some kind of clip-art,

C) if that still looks ugly, replacing it with a gradient

D) if that still looks ugly, replacing it with a pre-blurred face from a generic set of buckets.

I sort of get the aesthetic argument, but I also really don't, because the way Signal is blurring faces is ugly, at least in the photo they show. It's not a seamless thing that blends into the background and looks way better than a solid color. It's giant squares, and the amount of blurring means that the contents are basically indistinguishable from a radial gradient to my eyes anyway. Am I missing something? Would a gradient really look any worse than this?

Is there some kind of use-case where blurs give aesthetically much better results than what we're seeing in the photo? Are the concerns I'm seeing below about de-masking just fear-mongering? Are blurs in general just pretty safe, fast, and easy to do? Moxie isn't stupid, I assume in situations like this he knows what he's doing.

<comment><USER7> Also consider the social effect. To the ordinary eye, it's not obvious that this blur is resistant to reversal, unlike standard blur effects. However, someone seeing the use of this blur effect, without understanding what it is, may come to the false conclusion that a non-Signal blur is safe too.

<comment><USER6> That's a good point. I've already seen at least one other person on this post comment to a Github repo that blurs faces. It might be secure, it might not be. I wouldn't trust it by default.

With a static overlay, the method is simple enough that _I_ can evaluate the security. With a blur, I don't know the difference between a good one and a bad one, so I can only trust the reputation of the author.

I like to be able to look at the output of an anonymizer and to be able to tell myself at a glance whether it worked.

</comment></comment></comment><comment><USER8> In case anyone feels like playing around with it, a friend and I made a project to do auto-blurring of faces with OpenCV a few years ago, with both iOS and node frontends ..

iOS module:

[https://gitlab.com/seclorum/groupie/-/tree/master/ios/groupi...](https://gitlab.com/seclorum/groupie/-/tree/master/ios/groupieFace)

Main node.js app:

[https://gitlab.com/seclorum/groupie/](https://gitlab.com/seclorum/groupie/)

<comment><USER9> The first URL doesn't seem to work, and the second URL brings to an "empty" project. Just to make sure -- maybe it's just me?

<comment><USER8> Hmm, I guess I got the URL's wrong, and can't edit now:

[https://gitlab.com/seclorum/groupie/](https://gitlab.com/seclorum/groupie/)

Works on Linux and Darwin, just type 'make'. ;)

<comment><USER10> The project is public, but the repository is probably private. We can't see any of the code.

<comment><USER8> Hmm, dunno how that happened .. maybe its better now?

<comment><USER10> Yes, fixed!

</comment></comment></comment></comment></comment></comment><comment><USER11> What kind of blur is used? Blurs are annoyingly bad at obscuring things like faces. They may be good at making faces unrecognisable to people, but they're not nearly as good at making faces unrecognisable to machines.

<comment><USER12> I've seen this sentiment mentioned quite a bit, but is it still true with the level of blur being shown in their example images? the blur level is extremely high to the point that it has essentially left behind a smooth gradient. Even with the algorithm known is there enough reversible information left?

<comment><USER13> I suspect there's not much information in the individual blurred face, but I wonder if given enough examples you'd be able to determine if an unblurred face is the one in a sample of images with any level of confidence? You can do that with text ([http://dheera.net/projects/blur](http://dheera.net/projects/blur)).

<comment><USER14> The face and its surroundings are blurred almost to a single colour. The average RGB value of my face might be unique-ish, but if you mix in some variable background, photographed on a camera whose lens has been smeared against the pocket of someone's jeans, the result should be human, not individual.

A side comment: AFAICT what the Signal developers have done is take code that was developed so that the phone camera could autofocus on faces, and and used that code to defocus faces. What a sweet hack.

<comment><USER15> A very sweet hack, but I think the concern was based on the example image provided in the link posted. While the face is blurred, there's still a lot of information you can glean about the person: their haircut, their neck, the clothes worn etc. -- so I'm guessing the threat vector here is that if you also have a general set of pictures from the same demo, you may be able to automatically identify who the blurred person is.

Blurring is better than nothing but the best picture when it comes to avoid being traced is the picture that was never taken.

<comment><USER16> Let's be real for 2 seconds here, this is pure nonsense. No court of law would do anything about "hey we arrested that guy because he has 2 eyes, a mouth and the same tshirt as that other guy who was protesting yesterday", if it comes to this you wouldn't even need a picture of blurred faces, just arrest whoever you want and provide forged evidences (or none) because that's exactly the same thing

And even then law enforcement are already filming them (cctv + from the air) and tracking their phones, the last thing you have to worry about is a 100% blurred face that no amount of technical power would be able to process or match back to you.

<comment><USER17> picture A of an individual, unblurred, protesting peacefully.

picture B of a blurred individual from later on in the same protest, wearing the exact same clothes, commiting questionable acts, is circumstantially incriminating.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Would it be practical to take a facial recognition algorithm and use it to warp the identifying characteristics of faces in a scene such that the faces lose enough uniqueness to make facial recognition ineffective?

My understanding of facial recognition is that it operates on relative positions of facial elements. If you can "delete" this uniqueness from the source material by warping faces towards a limited handful of generic shapes, you make the video less useful to Government intelligence.

You could still blur the result, but you might be able to get away with less blur. Remember that it's important to see that people have faces otherwise they can be more easily dehumanised.

<comment><USER19> Ideally you'd run something like thispersondoesnotexist to generate random faces to paste overtop people _before_ blurring it. That way if you somehow manage to revert the blur there's still no chance of revealing the original person.

Of course humans are pretty good at filling in detail, so with a sufficient blur you can get away with surprisingly poor approximations of a human face.

<comment><USER18> I'm thinking more about targeted distortions to maximally thwart fingerprinting while minimally dehumanising.

</comment></comment></comment><comment><USER20> I've seen it said that blurs can relatively easily be reversed. I wouldn't expect that to be unknown to the Signal team, so I wonder if anyone knows how they dealt with that. A different blur method that is not reversible?

<comment><USER21> You are correct a standard Gaussian Blur can be reversed except along the edges where data is effectively lost outside the blurred rectangle. In this case the radius of the blur is large enough that a lot of data will be lost. Combined with JPEG compression removing a lot of information too, reversing this blur should be impossible.

A better blur algorithm (in that it can easily be proven not to be reversible and is faster to process) is to divide the area to be blurred into a small number of cells, (9,16 or 25) get the averaged colour in each cell and then apply an interpolation between those colours as your output. This algorithm is essentially O(n) where n is the number of pixels to be blurred. You can easily prove that the information in the image is at most 3 bytes (each colour) * 25 (number of cells) = 75 bytes which is not enough to encode a face however it may be enough to encode some limited details (such as skin colour, distinctive clothing etc.) so always better to use a black box.

<comment><USER22> Provided you know the exact method you can _in theory_ recover even the edges. Although this is very numerically unstable, to the extent that just double precision might not be quite enough. That said, that's just the theoretical exact inverse. With proper regularization you might be able to recover far more (although with a complex prior like a neural network it becomes debatable what information you are recovering and what information you are putting in yourself).

Side note, even with a mere 25px image (effectively) of someone's face I'm not sure if it leaks as little information as you think it does. Just 33 bits would be enough to uniquely identify someone, let alone 75 bytes. Practically you wouldn't be able to recover more than some basic estimates of skin colour and distance between the eyes etc, but in extreme cases that might still too much.

</comment></comment></comment><comment><USER23> Honestly, I can't keep up with acquisitions, full e2e encryption claims, then those claims get debunked, and you can't find out what the truth is.

Based on all information out there, in year 2020, what is the most secure IM app?

What do you recommend to your friends if they care about privacy?

<comment><USER24> I recommend Signal. Sure, something selfhosted would be nicer (provided I can be trusted to get encrytion rightly implemented and my server updated etc) but Signal hits the best balance for me between trust, hassle and features.

<comment><USER25> You can self-host Signal if you want. It's not easy, or fun, and you'll need to replace the dependencies on cloud tools if you want to host it on bare metal, but it can be done (I have done it).

Bear in mind, the server is open source only in name, the state of documentation and configurability is extremely hostile towards running it yourself, to the point that the only way to configure it to run correctly requires reading the code to find the type, size, syntax and everything else about every piece of configuration because none of it is documented or clear.

<comment><USER26> Can you document it?

<comment><USER25> Sadly the answer is not the one I'd like to give. Were it in my hands, I'd have documented it publicly already, as an advocate of open source and sharing.

I did this as part of my day job, which included, at the time, documenting it. It's impossible for me to share that documentation I did on company time. As for doing it again, I'd have to check my contract and/or discuss it with said employer.

</comment></comment></comment></comment></comment><comment><USER27> Can someone school me as to why we'd use blur when you can just put a solid block of pixels of the same color over the face? The hard part is face detection, right?

<comment><USER28> Blur looks better.

<comment><USER29> I wonder how hard it would be to replace the face with something akin to Photoshop smart fill then blur the box into obscurity?

Keeps the aesthetics of the image but also removes the face entirely.

</comment></comment></comment><comment><USER30> I've tried this feature out and found that it doesn't do as good a job of blurring faces as I'd like, especially when those faces take up more of the frame. I posted some pictures here:

[http://lelandbatey.com/projects/signal_blur_comparison/](http://lelandbatey.com/projects/signal_blur_comparison/)

Basically, I think they're using a constant blur size which fails to adequately obscure faces that take up a lot of the image because when a face takes up a lot of the image then the features of that face become large, which would require even MORE blurring to obscure. And they're not doing "more blurring" when the area which needs blurring grows, or at least they aren't doing _enough_ additional blurring.

</comment><comment><USER31> They are also distributing physicals masks? It's not even a filtering type mask is it? How odd.

Is the blurring some type of encryption that the user can unblurr or is this a one way road? I am just thinking off some odd circumstance where say they realize they had a picture of a vandal somewhere. But I guess you can then be forced to unblurr everything by law enforcement which might be undesirable in some cases.

Slight off topic from the article, I was reading about the sting ray discussion here on HN yesterday. Signal supports some sort of mesh network communication right? Is that a work around for sting rays? Thanks.

<comment><USER32> I was also surprised by the physical masks. It seems they are intended to 'encrypt your face' which gives me the impression it should make you unidentifiable.

When peacefully protesting, I can't imagine why you would need to hide your face.

If not peacefully protesting and/or looting, such a mask has use for criminals, but I can't imagine that's the intention of Signal.

I think in free, democratic countries, you shouldn't be allowed to hide your face, so you can be held accountable for your deeds.

In non-free countries I can imagine you would need to hide your identity, but would Signal be able to distribute them there?

Questions, questions ;)

<comment><USER33> As the looks of it, US is pretty non-free when it comes to peacefully protesting. So I guess this feature is very timely and directed towards users there ;)

<comment><USER34> It's most certainly not just the US. In the (western European) country where I live, for instance, even a static protest or demonstration with no chanting or marching and only a few participants requires non-trivial and somewhat expensive police approval ahead of time. Most larger spontaneous events seem to just ignore this and the police haven't generally responded violently, to their credit.

</comment></comment></comment></comment><comment><USER35> instead of bluring faces we should be replacing them with computer generated faces, double up on fuzzyness and destroying the possibility of easily detecting "its been blurred, i must then take out my best guessing tools then"

</comment><comment><USER36> Why not just block it out instead of blur? Like all out white or black block, or any color, or a 'redacted' button?

</comment><comment><USER37> Impressive how quickly they've reacted.

<comment><USER38> They probably had worked on this feature for some time and are using the current times as an opportunity to introduce it. It's hard to believe they had the capacity to react to the traffic increase and develop a sharp new feature in less than a week.

<comment><USER39> If you look at the code it's not that far fetched. The facial recognition uses "off the shelf" third party libraries and a gaussian blur isn't exactly rocket science.

I don't know how much work goes into making a new Signal release but it terms of raw coding it's like two days of work.

</comment></comment></comment><comment><USER40> I doubt blurring faces on photos you take helps much in hiding your identity from the government.

In events like these, they likely have access to quite a few image sources that do not blur faces.

So, given an image with blurred-out faces, they can look in those sources for images showing persons with similar skin color, hair, length, and clothing to the person(s) they're interested in, and from there find your face.

If they are willing to make an effort, even individuals may be able to do that, using photos that people who don't blur faces upload to the internet.

</comment><comment><USER41> So an organization that gets millions of dollars from the US government is supporting people that wish to overthrow the government, many of whom are outright anarchists. Seems like a poor investment. Unless....

<comment> alex-wallish How is Signal getting money from the US government? I don't know much about them, but that seems rather surprising.

</comment></comment><comment><USER42> This is rather silly, you could always draw solid colors over someone's face and it works better than blurring. A rather frivolous update, from a software standpoint. The sentiment is nice.

<comment><USER43> Automation is a big part though, having to do it manually on 5 faces is tedious, pressing a button is not.

<comment><USER42> I see the point in this, but if you're going to automate something it should be automated right! In most cases, getting specific people's faces in shot isn't a good idea in general. If you're getting five people's faces in center frame for a photo just to blur their faces out, then it's probably fair to ask why you'd even take a photo at all.

<comment><USER44> Recording and sharing are different things. If I take a picture of a cop pulling masks off of protestors, I sure as hell want to record the incident, but not necessarily share images of the victims.

</comment></comment></comment></comment><comment><USER39> Is the pattern on these masks meant to confuse facial recognition algorithms or is it just for looks?

<comment><USER45> Probably the latter. The pattern doesn't really matter when 85% of the facial features are covered by cloth.

</comment></comment><comment><USER46> I don't know much about image processing, but can't blur from some area in an image be "removed" so as to recover the original image underneath or am I just totally mistaken about how images/pixels work?

<comment><USER47> Think of it this way; there is less information in a blurred image (less colour, less lines, less areas). You can not* conjure information out of thin air thus making the unblurred image.

* Recent advances in AI actually make this possible to an extend. The AI delves into it's massive memory and extrapolates a likely image/face.

<comment><USER48> That entirely depends on how the image is blurred. The default gaussian blur in an image editing tool can be reversed without leaning on magic AI to do it.

</comment></comment></comment><comment><USER49> As a software engineer: screw software-based solutions. Too hard to communicate to people, too easily compromised without notice, just blegh for things like this.

I remember the Mueller report being printed out, inked over, and then scanned before exported as PDF just to make sure there's no software shenanigans. I really like this idea.

If you wanted to implement that in the field, you could purchase a Polaroid camera, ink over faces manually, and then use your iPhone and take a picture of that picture and destroy the film afterwards.

<comment><USER50> This strikes me as ridiculously paranoid. Are you worried that a JPG/PNG contains the original non-blurred picture or something?

Nevermind the fact that in your examples, the physical originals can be stolen before you have a chance to redact/blur them, or your blurring done by hand isn't good enough and you can get the original by increasing contrast or whatever.

<comment><USER49> ...isn't the whole reason of this discussion revolving around events causing "ridiculous paranoia" being realized? No, I don't think I'm being too paranoid. Even if Signal is open source, it means smack if you don't know what's actually running on the servers, or what's in each AppImage and running on your phone.

If you have your servers and employees where the government can reach you, you can be compromised, because ethics and morality go out the window when it's about your safety and that of those you love.

Analog is always safest, because it's what the world is grounded in. If you don't like inking over an image, then burn the faces of it using a blowtorch, or if you're worried the ink is still there, you can stamp out the faces using a hole punch.

</comment></comment></comment><comment><USER51> You can be identified by gait alone.

<comment><USER52> Unreliably, and only if they have a clear view of your whole body, which isn't likely in crowds.

<comment><USER51> I disagree... this is an area I research, working on a surveillance system. But even so, if gait alone was not enough, modern recognition software can easily single out a subject in a crowd with just seconds of footage, and through thousands of cameras track said subject throughout the city. Footage will be plenty. At some point during tracking the subject is likely to reveal his face, too, or other critical information. If your voice is picked up it too will be used for positive identification. When you add in the people in close proximity to the subject things get even easier, recognize one of the other collaborators the target subject affiliates with and identification is often a simple narrowing scan of enmassed OSINT away, done real-time, of course. Or simply track the subject to an address, maybe even his home, and swoop in.

I want to also clarify what gait recognition is, for those not that familiar with it a common misconception is thinking it is limited to analysis of how you walk. It is not; factors of gait recognition: height, weight, build and proportions, sex, age, clothes (including type—-dress, shirt, etc.—-shape and colors), emotions displayed, facial tics, unique mannerisms. The analysis of your actual walk/gait is incredibly deep and consists of hundreds of variables, too many for me to care mention here, I might blog about it if it is of interest to anyone, but a few examples: cadence, the angles of just about anything you can imagine possible to measure, spacing between feet, knees, arm swing distance, etc.

For anyone familiar with Haar-like features it should be easy enough to understand that with enough features within threshold you can id just about anything.

This is all yesterday's tech, by the way.

My point, be very cautious of attending anything that might destroy your future. Do not think a mask or blurring protects your identity, that is extremely naive.

<comment><USER52> _My point, be very cautious of attending anything that might destroy your future. Do not think a mask or blurring protects your identity, that is extremely naive._

If you're afraid to be seen in public you have no future to destroy. It has always been possible to identify people with diligence if one is sufficiently patient. Given that you're 'working on a surveillance system' your post reads as little more than an attempt to intimidate people from participating in political activism.

<comment><USER51> I am talking about participating in unlawful activities. I do not think most people need to be afraid of being seen in public.

The system I am working on is not for law enforcement.

I respect people standing up for what they believe in. I do not respect people destroying the property of others.

I see no harm in «educating» people. Even on HN I think there is few who understands fully modern surveillance capabilities. Knowledge is power, I believe information wants to be free.

<comment><USER52> No, you talked about attendance of an event - I quoted you in order to make the context clear. It is simply untrue to say you were talking about participating in unlawful activities.

<comment><USER51> «anything that may destroy your future»

Did I mention a specific event? No. Stop bickering, it is childish.

</comment></comment></comment></comment></comment></comment></comment><comment><USER53> wouldn't it be easier and more secure to put a noise filled rectangle over the faces?

<comment><USER54> You can but it looks bad and is distracting, a good blur doesn't distract from the rest of the photo and looking good enough people are more likely to actually use it which is also important. You can also build a blur that discards enough information that it's not reversible and it /looks/ like they did that, Signal has been pretty thoughtful about security so far so I doubt they missed the research about simple blurs being insufficient to defeat facial recognition.

<comment><USER53> You can always apply blur on the noise afterwards.

It took me less than a minute to do this with Gimp (and I'm very bad at Gimp).

It's a simple median blur over a random noise.

[https://i.imgur.com/f81JIRP.png](https://i.imgur.com/f81JIRP.png)

</comment></comment></comment><comment><USER55> I don't understand the need for this. There is nothing criminal or embarrassing about being in public or participating in a peaceful protest. Why is this feature needed?

<comment><USER56> Because people fear retaliation from both the cops and their fan club. We're talking about the police that (in my city) flipped, ransacked, and destroyed tables set out by volunteers to give protesters food, water, first-aid, and sunscreen.

The last thing you want is to find photos or videos of yourself on a right ring YT channel because you will get doxxed, harassed and threatened.

<comment><USER57> What kinds of people get doxxed? Your average protester in a march or the independents who go off script and attack bystanders, observers?

The ones I recall like the bike lock incident in Berkeley was that the extremely violent get doxxed on the chans but not your average protester who isn't smashing things.

<comment><USER58> Not the US, but I know someone whose name ended up in a list being spread around among rightwing groups as a "left activist" because he was on FB a lot replying to anti-refugee/anti Muslim comments trying to educate the posters.

Imagine having your face online, plus the resources of the police...

<comment><USER59> What country did that happen in? Germany? Did anything happen to that person, besides being on that list?

<comment><USER58> "nothing" happened, if you consider worrying that some nutjob Nazis might show up at your door or jump you when you walk to the shops, so that you have to look over your shoulders and be paranoid, as "nothing"..

</comment></comment></comment></comment></comment></comment><comment><USER60> what about videos.

</comment><comment><USER61> why not use a black square

</comment><comment><USER62> Cool ! Now stop with the forced contact discovery.

<comment><USER63> May I ask you to elaborate? AFAIK the only thing they are leaking about you is "is this phone number using Signal?". A single bit of information.

<comment><USER64> Not the OP, but from my perspective, encryption is helpful, but a good portion of security is anonymity, and Signal requires that you use and leak personally identifiable information to even start using it.

It also informs you when people in your contact list are using Signal. It's probably not scanning through all of the phone numbers in Signal's database locally, so it is exfiltrating your contact list as well, exposing your network.

Personally, I'd prefer a model where I am not required to place even that much trust in the messaging provider.

<comment><USER62> > so it is exfiltrating your contact list as well, exposing your network.

They claim they do that in a privacy-preserving way with crypto magic but it's the inform-people-when-you-start-using-signal part that is a problem

</comment></comment></comment></comment><comment><USER65> At some point he have to assume this is about defending people that are committing crimes. Nice to see that the radicalisation caused by left wing social media is finally getting to its final conclusion.

</comment><comment><USER66> Why would peaceful demonstrators need to hide their identity?

I have been to numerous peaceful protests in the US, even been attacked by observers, and have never had to hide my identity.

Additionally, in a large crowd where most will not hide identities, this app is useless.

Only use case I can imagine is a one to many communication likely to be frowned on by authorities, which sounds like the coordination of illegal activity, such as violence and looting.

I wonder if any website where such techniques are popularized would consequently be considered an accessory to whatever illegal activity is being coordinated?

And even if not, as owner of such a platform, it would not rest easy on my conscience to know my site is being used to help coordinate activity that will hurt and harm a great many innocent people.

<comment><USER67> Devil's advocate here but if I were a Nazi and wanted to peacefully protest I'd hide my face. If I were protesting for any socially unacceptable fringe group I'd rather hide my face.

<comment><USER66> that is precisely the sort of group i was protesting with, hence why i was attacked, and i had no need to hide my face because we were not doing anything illegal

and the US is not nazi germany or the ccp. if it were, face blur filters would be the least of your concerns. this only makes sense in the context of conducting illegal activity in a lawful democracy

<comment><USER48> Only if you think the lawful democracy is perfectly implemented, and we know that's not true.

<comment><USER66> no place is perfect, but if we compare to say ccp us is still orders of magnitude better

<comment><USER48> "Over there is worse" is not equivalent to "over here is safe."

<comment><USER66> "over here is not perfect" is not equivalent to "over here is not safe" :)

i just think we need to look at what we got compared to most places and times, and not be too quick to throw out the baby with the bathwater

<comment><USER48> > "over here is not perfect" is not equivalent to "over here is not safe"

Yes, it is.

<comment><USER66> I doubt it. You seriously think police will go out of their way to look through these photos and arrest peaceful protesters?

On the other hand, in China, just for having Signal or the like on your phone is enough to earn a stay in their concentration camp and some involuntary organ donation before getting disappeared for good.

I would say there is at least a slight (very slight, mind you ;) difference between the two situations.

<comment><USER48> > You seriously think police will go out of their way to look through these > photos and arrest peaceful protesters?

Given everything else they seem to be getting up to, why take the risk? Especially when Facebook will do the hard job if tagging folks for them. I certainly know of police keeping their own photographic records of peaceful protestors, so why contribute to the problem?

Also, why assume it's only the police a protestor might be worried about?

> On the other hand, in China

Don't care. Totally irrelevant. This is not a comparative exercise, and you can stop using it as a cheap deflection now.

<comment><USER66> if you have clear proof the police do this, you have a lucrative lawsuit on your hands :)

<comment><USER48> Here's a US law enforcement trainer, writing about what law enforcement agencies need to do around peaceful protests:

> Law enforcement officers must monitor peaceful protests to identify > individuals who might do harm and incite violence. Such individuals should > be detained, isolated or interviewed to determine if they are a threat to > the peaceful assembly.

From [https://inpublicsafety.com/2016/07/preparing-for-protests- ci...](https://inpublicsafety.com/2016/07/preparing-for-protests-civil-unrest- requires-coordination-among-agencies/).

Here's one UK police branch that does it in the open: [https://en.wikipedia.org/wiki/Forward_intelligence_team](https://en.wikipedia.org/wiki/Forward_intelligence_team). It would be beyond naive to assume that police in the US don't do the same.

All of this is a side-show, though. If I take a photo at a protest, how do I know what harm would come from publishing any faces that I happen to capture? You seem to be making the argument that I, as a private citizen, shouldn't have a tool available to ensure that I'm not doing harm. Who does that serve?

The fundamental core of your argument seems to be that if people have nothing to hide, they have nothing to fear. That is, and always was, bullshit.

<comment><USER66> What's wrong with the argument? At any rate it is all besides the point. The only feasible usecase for this signal face blurring is coordinating illegal activity. Any other use doesn't make sense for the reasons I've given a couple times.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Entropy - <AUTHOR> http://andrew-hoyer.com/experiments/entropy/

<comment><USER2> I see an evil DRM for games, you buy a game and textures will decay over time until you buy the game again to reset the decay.

<comment><USER3> Back in the day, AutoCAD did that with point coordinates. No dongle, each save got progressively worse.

<comment><USER4> Did you mean 3D Studio on DOS?

<comment><USER3> AutoDesk not AutoCAD! gah. I think you're right.

There was a collection of DRM stories i read a few years ago. People (businesses, architects, professionals that should know better) calling for tech support over corrupted files was memorable (but apparently not memorable enough). I imagine there was some grim joy in informing people they were not using a legitimate copy, and thus their program was failing.

</comment></comment></comment></comment><comment><USER5> This reminds of the polymorphic viruses in MS-DOS/Windows era (very likely they still exist, but I didn't look for long time) where they would dynamically generate the decryption/encryption routines and changed their code appearances to thwart signature-based antivirus scanners. As such, maybe it would be fun to add self-modifying codes so that 1) precision is reduced 2) performance is also randomly reduced. The longer you run this baby, the slower and less precise it would be. ;)

<comment><USER6> > very likely they still exist

Sadly. They're one of the more complex malware types.

</comment></comment><comment><USER7> Computers are precise but sometimes I wonder could they be made faster if we relaxed this precision requirement?

For example in game 3d graphics it might acceptable to sacrifice some precision for performance. Could be interesting to apply some thing "Entropy" to the graphics part of some existing game. Flappy Bird maybe?

<comment><USER8> The speed/precision trade-off in games is well known and exploited to the max by those that care.

</comment></comment><comment><USER9> It would be interesting to write a program that is going to work properly by using only such "decaying" variables.

There are actually applications for such programs - software replacement for ECC memory.

<comment><USER10> I thought you were about to go full thermodynamics on the data and suggest building an information-equivalent of the Stirling engine.

</comment></comment><comment><USER11> Reminds me of Netflix's "Chaos Monkey". Both Entropy and the Chaos Monkey force you to deal with failure as an eventual certainty, not something to ignore and hope it doesn't happen.

<comment><USER12> AFAIK Chaos Monkey inserts random but non-permanent failures into the system, not really entropy. Entropy would be the gradual loss of their movie data, something I'm sure they work quite hard to prevent.

</comment></comment><comment><USER13> Wow, this is really appropriate for the day I've had today. Repeatedly failing to get a brand new install of Bitcoin Core to index and sync with the blockchain. I finally dusted off my Memtest86 and voila, bad RAM stick!

I suppose crypto would fare pretty badly inside this language, or has anyone thought about this kind of thing?

<comment><USER14> Well, Shannon & Moore showed [1] that you can make arbitrarily reliable circuits out of unreliable relays, so I expect you could find a redundant enough encoding for any program that would allow it to operate at high precision, even in this language. It would almost certainly be larger and slower than a more accurate equivalent though!

[1] [http://mriedel.ece.umn.edu/wiki/images/3/30/Moore_Shannon_Re...](http://mriedel.ece.umn.edu/wiki/images/3/30/Moore_Shannon_Reliable_Circuits_Using_Less_Reliable_Relays.pdf)

</comment></comment><comment><USER15> What is interesting about this is how it forces one to deal with a lack of precision. Computers are inherently imprecise in many situations, leading to non-commutative multiplication. I wonder if a language like this would be helpful for programming with approximate processors. They are supposed to be much faster at a cost of precision.

<comment><USER16> Pedantic aside: I guess you mean non-associative multiplication? That is, ax(bxc) versus (axb)xc. Since rounding happens at different times, they can give different results. Floating point multiplication is indeed non- commutative as well, but that has to do with NaN handling, not imprecision.

<comment><USER15> Yes, good catch! I did indeed mean non-associative multiplication based on the timing of the rounding.

</comment></comment></comment><comment><USER17> I love this idea, it's quite interesting. On the flip side, I made a change in some software at my work the other day to replace the use of a random in a unit test. The use of random was being used to populate some data. This language would make matters incredibly difficult to recreate bugs and even test software

<comment><USER15> The situation you are suggesting might require dumps of as much state as can be measured and a method for recreating the state of the application from that dump. That might be a very large set of data if every variable can be altered. Even execution paths and past variable values would need to be measured over time.

</comment></comment><comment><USER18> Seems like a Monte Carlo simulation for adding noise to any Javascript variable. It'd be cool if you could apply filters to the noises.</comment>


Ansible 2.1 Released, with Network Automation, Containers - <AUTHOR> https://www.redhat.com/en/about/press-releases/red-hat-debuts-ansible-21-network-automation-containers-microsoft-windows-and-azure <comment><USER3> I have not been a big fan of Ansible due to some critical bugs (at least in 1.x) and the way how its community core committers are treating community requests like this.

For one: Ansible 1.x cannot even print out the syntax error file and line number in the offending Playbook. [1] And their core committers ignored the issue and refuse to backport the basic debugging requirement after issue being opened 2 years.

That itself, is a deal breaker for me.

[1]: [https://github.com/ansible/ansible/issues/5797](https://github.com/ansible/ansible/issues/5797)

Edit: Downvoting me doesn't make this issue go away. What was requested is a simple basic debugging requirement - any mature syntax tree parsers should be able to do it.

<comment><USER4> disclaimer: i'm an ansible dev.

As the ticket shows, this was added in the 2.x release of Ansible, that is why the ticket was closed.

Adding this info required a major revamp of the parser, which we did in 2.x, for this and many other reasons. This is not a simple change in 1.x and we decided not to backport it.

<comment><USER5> Could you? Tons and tons of companies are forced into using outdated versions (for tons of reasons) where point release updates are still possible.

I'm sure it's a lot of work, but a lot of your core and original users would appreciate it. Not implementing something as useful as that just has a "we got 'em, no need to do anything else for them" vibe.

<comment><USER3> > Tons and tons of companies are forced into using outdated versions (for tons > of reasons) where point release updates are still possible.

Exactly my point! Ansible devs should own up to it for admitting their BAD design choice (I heard someone from here saying intentionally not use a parser but use YAML.) of not being able to get syntax error file name + line number!

My story was that debugging ansible playbook with loads of nonsense cryptic error messages due to syntax errors that I have to spent hours to figure out what went wrong was a complete frustration. It was so bad that we eventually re-designed our infrastructure to cut out Ansible and never look back again. So much for Ansible 2.x that it doesn't even matter. Ansible lost its appeal in 1.x, and that's it. No more 2.x upgrades.

Lesson learned here is that if a young software tools got adopted but early version caused so many frustrations that the authors don't care about back- porting bugfixes, all future version becomes irrelevant.

<comment><USER5> It's gotten so bad with these sorts of tools with their incredibly annoying design flaws that I've been debating creating my own using rpm and ssh on top of bash with some python.

I get why it's important to have a lot of the features, but when the devops crowd thinks [0] is acceptable (or at the very least, doesn't scream about it), then it might be time for something new.. with [1] in mind.

      [0] $ man salt 2>/dev/null | wc -l
      140905

[1] [https://xkcd.com/927/](https://xkcd.com/927/)

<comment><USER6> Which design flaws are you referring to? As a recent Salt convert (and Puppet expert), I was perplexed as to why such a nice tool would have a man page 40x longer than _bash_.

Turns out it includes extensive documentation for _all_ states supported by Salt, generated from the online documentation. Compare this to the Puppet manual:

        $ man puppet
        PUPPET(8)                Puppet manual                         PUPPET(8)

        NAME
           puppet

           See ´puppet help´ for help on available puppet subcommands

Obviously no-one will be using everything that Salt supports, so it would be nice if it was broken into sub-sections. But I much prefer having all documentation available in a manual to looping through every module and run "rdoc" as in the Puppet case.

Any sufficiently popular configuration management tool will have equally long documentation.

There are a couple of simpler options available:

[http://www.nico.schottelius.org/software/cdist/](http://www.nico.schottelius.org/software/cdist/)

[https://github.com/brandonhilkert/fucking_shell_scripts](https://github.com/brandonhilkert/fucking_shell_scripts)

<comment><USER5> "Design flaw" might not be right description. Maybe, "Naive implementations with nearly useless documentation" is better.

When I first started using puppet, I would go home _absolutely exhausted_ every night. Their design choices, along with a lack of documentation, would turn the equivalent of a 20 minute bash script into something that would take days. Best example I can think of is the arbitrary ordering of module execution. I understand why they do it this way, but if they documented it in _plain sight_ , then maybe my desk wouldn't have a forehead shaped dent in it. Similar goes for the other tools.

The only thing I can think of that prevents companies from releasing proper documentation is because of their expensive support contracts. There's a lot of incentive to make a standard incredibly difficult.

I just want accessible tools :(

edit: fss looks pretty neat! Kinda rpm-y, but it fits a nice middle ground.

<comment><USER6> I get your sentiment. I only started using Salt some months ago, but it was really a breath of fresh air compared to Puppet. However it took me a while to realize its true strengths since the documentation is very...dry.

IIRC Ansible, like Chef, does serial execution. That is, states are applied in the order they are written. I think that's part of the reason it has gotten so popular, as you'll have very few surprises in the vein of "what do you mean there is no _ntp_service_ \-- it's right there next to the config declaration!".

What Salt got right is the pillar, for which the Puppet equivalent (Hiera) was an afterthought. The Salt engine allows you to generate _states_ from the pillar, rather than making poor clones of Puppet modules (as most of the formulas I've seen online).

However that flexibility is not documented anywhere, nor part of best practices. Nevertheless I'm about to release a set of formulas that are truly pillar-driven with no hard-coded stuff. Keep an eye out for the accompanying blog post :)

Of course, if you don't care about data/code separation and just want to get stuff done, there are better tools. And if you have full control of your environment, I would strongly suggest using Guix and/or Nix rather than these legacy configuration management tools.

<comment><USER5> I actually really like salt, just not its documentation. Like you said - <USER2> was a breath of fresh air. :)

Last time I used it a few months ago, it was while helping out another admin. He had a lot of confusion on how to do certain things, and the documentation wasn't very helpful for either of us. The solution came from github, which has become my go-to for these sorts of tools. Though, that could easily be supplemented with some better examples on their site, or in their, erm, man page.

I doubt we'll have some great tools with great documentation anytime soon (or monitoring tools!), but a sysadmin can dream... :)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> It is unfortunate that Ansible has a complete lack of test cases around core modules and, as a result, people act surprise when they're broken in a new release.

For example see this fairly critical defect with the s3 module in today's release: [https://github.com/ansible/ansible-modules- core/pull/3347](https://github.com/ansible/ansible-modules-core/pull/3347)

<comment><USER8> Definitely agree with this. I use the docker module extensively and found 2 regressions[1][2] that I went through the trouble of debugging down to a single commit, but still have no idea whether anyone is going to fix them.

I'm hoping now that they are done rewriting the docker modules, and considering they are using docker as a selling point for 2.1, they will be more proactive with these issues.

1\. [https://github.com/ansible/ansible-modules- core/issues/3219](https://github.com/ansible/ansible-modules-core/issues/3219) 2\. [https://github.com/ansible/ansible-modules- core/issues/3231](https://github.com/ansible/ansible-modules-core/issues/3231)

<comment><USER9> Look at Chef. Its extensively unit tested in both the core client & server, but also the cookbooks associated with it. Check out the docker one for example [https://github.com/chef-cookbooks/docker](https://github.com/chef- cookbooks/docker) The interfaces and primitives for docker in this cookbook are great too.

<comment><USER8> I used to be a Chef user, and although I do love it, it's overkill for the current infra I am supporting. I haven't had too many issues with Ansible, I love it's simplicity, just lately there have been some annoying regressions.

I do really appreciate that testing is a priority in the Chef community, cause it definitely isn't with Ansible. It also seems like based on the naming conventions in the Chef cookbook, that Ansible is playing catchup with 2.1 (imitation is the sincerest form of flattery?)

</comment></comment></comment></comment><comment><USER10> I love Ansible, and have been using it since it was a humble little git repo with a single author.

Unfortunately it's probably the most important python package that doesn't support Python 3, it would be cool to see it upgraded. Apparently the hold-up is supporting very old 2.x python versions because of RHEL.

<comment><USER11> I think it actually makes sense for something like Ansible to use Python 2 because it's about controlling lots of remote machines on various Linux distros, and the idea is that it's agentless. If you suddenly have to install an "agent" (Python 3) on all the remote machines before you control them with Ansible, that wouldn't be great.

On the other hand, Ansible itself could have a tiny bootstrap step which installs Python 3 on all the remote machines before it does any work.

In our case, we use Ansible daily for deployments, but haven't actually written any custom Python modules -- it's all just straight Ansible YAML. So I'm guessing for a lot of use cases it doesn't really matter what language Ansible is written in.

<comment><USER12> Or, they could support both so that they can be an agent for distros that won't have python2 installed and only python3 (AFAIK they don't exist yet).

<comment><USER13> Ubuntu Server no longer has Python 2 installed by default (though it's available if you want it). This is the case on 16.04.

<comment><USER12> Ah, I thought I heard about that somewhere. I did tests on 16.04 recently with ansible, but python2 was here, so I guess the image I was using wasn't a vanilla ubuntu (from a VPS provider).

</comment></comment></comment></comment></comment><comment><USER14> Can I kill Vagrant with this Docker compose approach on OS X? [https://www.ansible.com/blog/six-ways-ansible-makes- docker-c...](https://www.ansible.com/blog/six-ways-ansible-makes-docker- compose-better) Does anyone know or has tested this with a normal (non beta) Docker install on OS X?

</comment><comment><USER12> Does it support python3 yet ?

Also, why do we have to install aptitude to do system updates ? It has been a long time since apt-get had bad resolution issues (and aptitude isn't installed by default anymore (has it ever been?)).

<comment><USER15> Aptitude is installed by default on Debian Jessie.

<comment><USER12> It's not on raspbian or Ubuntu Server.

</comment></comment></comment><comment><USER16> I hope open sourcing Ansible Tower is still on the cards after it was promised at a conference shortly after acquisition.

<comment><USER17> We've found Rundeck to be a more flexible alternative to Ansible Tower, and Rundeck is open source: [https://github.com/rundeck/rundeck](https://github.com/rundeck/rundeck)

<comment><USER18> Not to hijack the thread, but any pointers to good resources to sell mgmt on Rundeck? We're currently using Jenkins(!?) for role, something that enforces a divide where developers are allowed to automate, but operations isn't.

<comment><USER19> I'm trying to parse your statement and I'm not sure if you _want_ something to enforce that divide or if your complaint with Jenkins is that it enforces a divide between dev and ops?

<comment><USER18> Sorry for not being clear. We're using Jenkins because it was the shortest path to a solution. It's not easy for non-devs to use, so I'd like something that is ops friendly and won't cause the devs to want to repeatedly bang their head on the desk.

</comment></comment></comment></comment></comment><comment><USER20> now with extendended network support one question gets even more important: how do you do rollbacks with ansible? There is no default mechanism or policy that seems to help with that, so I have to hand-roll my rollbacks?

<comment><USER21> The simple answer is: you don't, you "roll forward."

In the event you deploy some code, a DB migration, a server configuration change, etc, and your solution fails after the fact, you move forward, not backwards. Let me explain further.

If you deploy v1.0 of your application and it works, great! If you then deploy v1.1 and it falls over, you find out why, apply a fix, test it locally (Vagrant?), deploy it to a testing environment and perform automated tests (Selenium, jMeter, ...), and once it's working there, you deploy it to production. This is called a hot fix, and it will now be working as intended (unless something else is horribly off the mark in which case you have other issues.)

The key to this example is the local and remote/network-based testing environment(s.) In my opinion, it's very much a realistic goal for ALL organisations of ALL sizes to operate local development environments using Vagrant and VirtualBox; a testing environment that spreads out the whole solution over multiple boxes (for testing networking code and configuration, among many other things); a staging environment for running performance tests (staging should match production bit-for-bit, cpu-for-cpu, ram-for-ram, ...) using jMeter or your choice of tooling; and finally a production environment to serve clients. This is the absolute minimum all organisations should be aiming for, and it doesn't even have to be fully automated using CI and/or CD.

Also tests, such as unit tests, systems tests, integration tests, usability and performance tests, and so on, are also critical to preventing the need to roll back and instead, implementing a roll forward policy.

<comment><USER22> Curious if "roll forward only" could create situations where a failed version change could place the system of interest in a non-functional state until the problem was diagnosed, the code revised, and an update released. If that's possible, I would have concerns about the infrastructure meeting the core needs of the business such as providing value to cutomers.

<comment><USER21> Your systems is already down, rolling back is the same thing, if not more effort than rolling forward. At least that's what I've always found.

Another option is to have customers point at stage after it has been upgraded and if it all goes horribly wrong, a load balancer change should be enough to point people back at the older production environment.

All this being said, problems in production shouldn't be a thing with configuration management, infrastructure as code (Terraform), and tests, not to mention three environments (development,test, stage - at minimum) to work your way through before pushing to production.

<comment><USER23> Keeping a system down while waiting for a hotfix is not an option for most operations. Rollbacks have their place and hotfixes have their place.

<comment><USER24> Taking a snapshot of a system before making a change and rolling back to that snapshot would be faster. In any case, a strong policy of only pushing changes to production that have been properly tested in staging will protect you the most.

</comment></comment></comment></comment></comment></comment><comment><USER25> Could you guys stop doing new features and write some unit tests for core modules please? So many regressions.

</comment><comment><USER26> I love and hate Ansible. It has simplified so many things for me, but also had some annoying bugs and regressions. Somehow I've lost trust in the codebase. Also performance is a showstopper. I need a tool to develop, I just can't wait > 10 min for an iteration. I usually end up modifying my server's config files manually and then build the Ansible templates.

Unfortunately I'm not aware of a better alternative.

<comment><USER27> Use tags and only play the role you fixed.

</comment></comment><comment><USER28> Can anyone comment on the speed of Ansible 2+?

I have a bunch of playbooks that still use 1.8 and they are dog slow. Changing the contents of one file can take ~10 minutes. (Interestingly, running the entire playbook on a clean server is actually faster).

<comment><USER29> > _Changing the contents of one file can take ~10 minutes._

O_o

That kind of simple operation just zipped by for me on Ansible 1.6, 1.8, 1.9, and 2.0. The only noticeably slow kinds of operations for me are generally the package installs (understandably). I don't use a ton of variables in my templates, though.

<comment><USER28> I have quite a few variables, yes. One of the files I change frequently is an external configuration file filled with credentials which is managed through variables. It looks something like this:

        {% for cred in credentials %}
        {{cred.key}}: {{cred.value}}
        {% endfor %}

<comment><USER30> hey, kind of off-topic, but wouldn't you be able to like this?

      {{ credentials | to_nice_json }}

</comment></comment></comment></comment><comment> squeaky-clean By Windows support, do they mean as a Control Machine? Because I thought it has supported automating Windows remote hosts for a while now? The documentation still reads as though it doesn't support Windows as control.

I just tried it out, and "pip install ansible" fails because of pycrypto. If I install pycrypto manually from another source, ansible installs successfully, but isn't recognized as a command. (I've double-checked it's installing ansible 2.1.0).

</comment><comment><USER31> Can anyone comment on ansible for CIS hardening (and docker CIS benchmark). If not, perhaps other tools?

<comment><USER32> I use Ansible to do all of the CIS recommendations. Took about a day and following along with the CIS guide to do it.

</comment></comment><comment><USER33> Unarchive module gets cert error on get.docker.com on Ubuntu 14.04 LTS. System Python is too old.

<comment><USER14> I also had this problems in the past with SNI certs. Very annoying old python bug, it's possible to fix old python but this makes no sense for an Ansible deployment [http://stackoverflow.com/a/29099439/756056](http://stackoverflow.com/a/29099439/756056) Better approach: Use curl to download in some temp directory/file and then extract from there. Curl does not have this errors. Example: [https://github.com/ansible/ansible-modules- core/issues/1716#...](https://github.com/ansible/ansible-modules- core/issues/1716#issuecomment-121001546)

My dream would be that whole Ansible would use rockstable libcurl instead of the requests library which has problems with Certs on (not so) old python versions.

<comment><USER4> we actually avoid the requests lib for this and many other reasons, we don't use libcurl as we try to avoid extra dependencies when possible.

The issue is more basic than requests, the actual python http/url and ssl implementations have these issues, we have patched and added warnings to indicate which minimal python versions you can use and have SNI work.

<comment><USER14> thanks for clarifying!</comment></comment></comment></comment>


A Unique Perspective - <AUTHOR> https://podcast.coreygarvey.com/2020/05/15/writing-for-one/ <comment><AUTHOR> My podcast, Settled Afar, and blog looks at big decisions people make in their lives to move to a new community, career, or location.

Writing is such a great outlet for me to get things across, and this piece looks at how that writing is informed and what I look to achieve with it.</comment>


JCPenney gives execs bonuses ahead of deadline for possible bankruptcy filing - <AUTHOR> https://edition.cnn.com/2020/05/13/investing/jcpenney-bankruptcy-bonuses/index.html <comment><USER2> This company is already dead before covid-19. The virus just accelerated it and likely gives the executives somewhere else to point the blame. It takes large companies years to die. Just look at Sears.

There is a hospital here in Colorado that during covid-19 told its employees it needed people to work more hours at reduced pay because of covid-19. After that the leadership turned around and gave themselves bonuses.

</comment><comment><USER3> Mission Accomplished.</comment>


Do More Faster - <AUTHOR> http://www.avc.com/a_vc/2010/11/do-more-faster.html

<comment><USER7> I looked at the table of contents, and saw many of the familiar aphorisms, such as "find a co founder", "fail fast", and so on.

Is there anything new here for people who regularly read HN?

<comment><USER8> I'm about 1/2 way through it. The chapters are short so they generally don't go into too much detail. Often times there will be a interesting sentence that I wish was blown into it's own chapter.

To answer your question: Most HN regulars will probably already be familiar with the topics.

</comment></comment><comment><USER9> This is a great book! AFAIC, a must read for anyone here who is serious about their startup.

I read it on the flight to Startup School a few weeks ago to "get in the mood". I couldn't put it down.

It's easy to read for 2 reasons: every chapter is a short essay by a different person (including many techstar alumni) and it's very well written, almost like pg essays but by lots of different people. It covers lots of ground, much of which has been covered here at hn many times, but then again, some of this stuff can't be covered too often. Also, sometimes someone says the same thing a little differently, and that's the one that actually reaches you.

My 300 page copy has 50 or 60 dog-earred pages and hundreds of red marks; it's that full of gems. (For that reason, I highly suggest buying a hard copy and keeping it on your bookshelf for future reference.)

I think that yc should come out with a similar book. I'd love to read essays from yc alumni, their advisors, and of course the yc principals themselves about what they thought was important. I realize much of this is on-line already, but there's nothing like a great hard copy too.

A few of my favorite quotes from _Do More Faster_:

"I realized that I had two options. I could quit buying comics or I could quit my job and build the iTunes of comics." - Kevin Mann

"Getting feedback and new ideas is the lifeblood of any startup. There is no point in living in fear of someone stealing your idea." - Nate Abbott and Natty Zola

"That means every moment you're working on something without it being in the public arena, it's actually dying, deprived of the oxygen of the real world." - Matt Mullenweb

"Focus on the smallest possible problem you could solve that would potentially be useful" - David Cohen

"You know you're on to something when the community starts donating money to make sure it stays alive." - Darren Crystal

"In companies that rely on having a large user base as ours does, it is very unlikely that you will offend enough people quickly enough to dampen your future growth." - Sean Corbett

"We learned that very few people care how you accomplish something. Instead, these people care more about whether you create value for your end user." - Colin Angle

"We knew that the high-level concept of our first site still really inspired us." - Alex White

"They stepped back from what they had created and thought about what they could do better than anyone else in the world." - <USER3>

"During the first few days of every TechStars cycle, we tell the 10 bright- eyed new teams that one of them will not be together at the end of the program. Unfortunately, we have not been wrong yet." - <USER3>

"If you can't quit no matter how hard you try, then you have a chance to succeed." - Laura Fitton

"When you ask CEOs of major companies what they're most worried about, one common answer is 'a couple of guys in a garage somewhere.'" - David Cohen

"Companies that work just always seem to move at lightning pace." - <USER4> Cohen

"It turns out that giving up your one obvious competitive advantage often proves to be deadly. If a startup can't do more faster, it usually just gets dead faster." - David Cohen

"There is an enormous difference between exciting technology and an exciting business." - Howard Diamond

"Changes come daily, weekly, and monthly - not once a quarter or once a year." - Ari Newman

"While it was only a detour of a week, that's a lot in TechStars time." - <USER5> Warner

"Only hope instead is to listen to their head and their heart and follow a path that they believe in, keeping some of the feedback and discarding other thoughts and ideas." - Bill Warner

"...when presented with exponential growth, remember that people tend to drastically overestimate what will happen in the short term, but will profoundly underestimate what happens over longer time spans." - Ryan McIntyre

"...consider life as a founder of a startup to be one big intelligence test." - Ryan McIntyre

"Remember that human nature has a tendency to admire complexity, but to reward simplicity." - Ben Huh

"If you are innovating, you actually don't know what your product needs to be. Furthermore, your customers don't either. No one does." - Ajay Kulkarni and Andy Cheung

"Nearly every startup must find ways to differentiate itself from competitors." - Raj Aggarwai

"What is the thing that matters most to making progress right now?" - <USER6> Costolo

"...you cannot create the need." - Michael Zeissner

"Opportunity cost can kill a startup." - Michael Zeissner

"It's easy to feel trapped by these handcuffs but if you change your perspective just a little, you might find that you hands are bound by nothing more than air, and the future is yours to create." - Eric Marcoullier

"There is one thing that the hundred of founders I meet each year have in common, and that is that their plan is wrong. Sometimes it's the big things, sometimes it's the little things, but the plan is always wrong." - Rob Hayes

"...we have to strike while the iron is hot! My experience is that this is rarely true." - David Brown

"Take the time to get it right and you'll find that those competitors might not be as close as you think." - David Brown

"Seeking the perfect combo: 'a smart-ass team with a kick-ass product in a big-ass market.'" - Jeff Clavier

"The moral of the story is easy: When you follow your heart, good things usually happen. We have a very short stay on this spinning orb and I believe life is way too short to be stuck in a career that doesn't fulfill you." - Mark Solon

<comment><USER10> Thanks for taking the time to make this excellent comment. The original submission was excessively light on content, but your comment made the whole thing worthwhile. I also agree 100% with the value of a similar book by YC- related people.

Do you have an affiliate link I can buy the book through instead of using the blog's?

</comment></comment><comment><USER11> Read Excerpt 2 (PDF) :

[http://media.wiley.com/product_data/excerpt/39/04709298/0470...](http://media.wiley.com/product_data/excerpt/39/04709298/0470929839-1.pdf)</comment>


From Sketch to Equation - <AUTHOR> https://jtguibas.github.io/sketch2math/ <comment><USER2> This is neat, thanks for sharing</comment>


What's the Deepest Hole Ever Dug? - <AUTHOR> https://www.smithsonianmag.com/smithsonian-institution/ask-smithsonian-whats-deepest-hole-ever-dug-180954349/?no-ist <comment><USER2> Just a bit of pedantry - the story linked (correctly) identifies the Kola superdeep borehole near Pechenga, Russia as the deepest hole humanity has ever drilled, at some 12,200m/40,000ft.

However, 'dug' in my book is not the same as drilling; the deepest hole ever dug (unless you want to go all fundamentalist and claim 'dug' implies shovels and pickaxes and nothing else!) is the Bingham Canyon open-pit mine in Utah, at some 1,200m/4,000ft. (They've been at it for more than 100 years!)

The deepest mine? Mponeng and TauTona, two South African gold mines, at approx. 4,000m/13,000ft. (And counting!)

<comment><USER3> Deepest hand dug well is in Brighton - 1285ft: [https://www.woodingdeaninbusiness.co.uk/blog/where-is-the- wo...](https://www.woodingdeaninbusiness.co.uk/blog/where-is-the-woodingdean- well/)

</comment></comment><comment><USER4> > The Kola hole was abandoned in 1992 when drillers encountered higher-than- > expected temperatures—356 degrees Fahrenheit, not the 212 degrees that had > been mapped.

That, plus the collapse of the Soviet Union.

Then: [https://www.thevintagenews.com/wp- content/uploads/2015/11/01...](https://www.thevintagenews.com/wp- content/uploads/2015/11/0150127f68add612b7ac573ac871.jpg)

Now: [https://f4.bcbits.com/img/a4184178639_16.jpg](https://f4.bcbits.com/img/a4184178639_16.jpg)

<comment><USER5> I wonder why not investment goes into tapping the geotermal potential. Is like having a free reactor ( since both work on transferring heat to water -> steam )

<comment><USER6> Educated guess: it's very hard.

A pipe that long would be subject to break down every time the earth moves a bit. Fixing said leak would requires stopping the use of the pipe completely.

As 300 C is not that a huge temperature, the energy to pump the water may also cost a lot compare to the energy you get out of it.

I'm not saying we should not try, but it seems a great challenge. And we don't have the motivation of creating an atomic bomb to drive it.

<comment><USER2> With only a very tenous grasp on the basics of fluid mechanics and thermodynamics, I'd suspect it is simply a lot more cost effective to drive a significantly larger volume of water through a significantly shallower (hence, lower temperature - but cheaper to drill, maintain and force water through) well to reap the same amount of energy.

Assuming reasonable heat exchange efficiencies, you'd do as well with 1000m^3/hour at a 20 degree differential as you would with 100m^3/hour at a 200 degree differential.

Or am I missing something?

<comment><USER6> Yes, but if you can turn the water into steam you don't have to pump it back as much. So you leverage gravity in, density out. I have no idea if that evens out though.

</comment></comment></comment></comment></comment><comment><USER7> Previous (recent) HN topic on the same thing: [https://news.ycombinator.com/item?id=17336315](https://news.ycombinator.com/item?id=17336315)

</comment><comment><USER8> Real Life Lore Video: [https://www.youtube.com/watch?v=E39GIysMevQ](https://www.youtube.com/watch?v=E39GIysMevQ)

</comment><comment><USER9> Is the transition from crust to mantle a sudden one or gradual? It seems unlikely that the two could be entirely separate. And how about between the mantle, outer and inner cores?

Strange drilling fact: When digging the Channel Tunnel, all existing bore holes (going back a century) had to be mapped and the tunnel avoided them so that if any of them hadn't been plugged properly it wouldn't create a hole that caused the tunnel to fill with water.

<comment><USER10> It's complicated. [https://en.wikipedia.org/wiki/Transition_zone_(Earth)](https://en.wikipedia.org/wiki/Transition_zone_\(Earth\))

</comment></comment><comment><USER11> An interesting article but infuriating in how it translates all dimensions to Imperial first. Such as stating the depth of the Kola borehole in feet and adding metres in parentheses; it was drilled using equipment specified in metres...

<comment><USER12> There are countries that use the metric system and countries that have been to the moon. :-)

<comment><USER3> The Third Reich? Ah no, it was just their rocket scientists wasn't it.

<comment><USER13> Von Braun never was an astronaut, much less traveled to the moon. And, I presume Nazi Germany used metric.</comment></comment></comment></comment>


Is timeless UI design a thing? - <AUTHOR> https://www.imaginarycloud.com/blog/timeless-classic-ui-design/ <comment><USER2> Good perspective. But some examples, like Coca Cola, didn't adapt that much. The logo pretty much stayed the same since early times.

<comment><AUTHOR> Proving the point that, indeed, it is possible to achieve timeless design. At least, regarding graphic design.</comment></comment>


Ask HN: What are the best Nootropics in terms of long-term win/lose ratio? - <AUTHOR> <comment><USER2> You probably don't want to hear this, but don't mess with your brain biochemistry. The brain is a delicate system and introducing artificial changes will probably harm you in the long term.

Your question is also very broadly phrased. What do you mean by "win/lose" ratio? For what purpose would you take Nootropics?</comment>


A Year of Google and Apple Maps - <AUTHOR> https://www.justinobeirne.com/a-year-of-google-maps-and-apple-maps <comment><USER2> This is the most significant fact:

> Over the course of a year, Google quietly turned its map inside-out – > transforming it from a road map into a place map.

I've long been amazed how we somehow transitioned during the early 20th century from a mental model of roads and paths running through locations to places (house lots, etc) being the spaces between the roads. It's a natural thing to happen, but one of those invisible flips that happens on a timescale longer than a human lifetime.

But this anticipates the opposite: if you can stop worrying about _how_ to get somewhere (because you don't have to drive or plan much -- self-driving or Lyft-style services can take care of the route planning) you can focus on the destination.

We see this phenomenon in subway maps which are famously schematic and not geographical.

(BTW the transformation is visible in literature, which is how I noticed it. The sense of geography in, say, Jane Austin is completely alien to today).

<comment><USER3> It's interesting that in Manhattan they removed "Greenwich Village", but added "230 Fifth Rooftop Bar" and "Vinegar Hill". That makes no sense to me.

[https://static1.squarespace.com/static/54ff63f0e4b0bafce6932...](https://static1.squarespace.com/static/54ff63f0e4b0bafce6932642/t/59288282ff7c50117bc25807/1495827086559/?format=750w)

Even according to Google Trends "Greenwich village" is 6.5 times more popular than "Vinegar Hill", let alone some rooftop bar.

[https://trends.google.com/trends/explore?q=Greenwich%20Villa...](https://trends.google.com/trends/explore?q=Greenwich%20Village,vinegar%20hill)

<comment><USER4> Aren't the places Google Maps chooses to highlight a function of your account history? Certainly seems that way to me.

Anyway, Greenwich Village still shows up as a neighborhood label at a range of zoom levels, just not the particular scale for this image.

<comment><USER5> > Aren't the places Google Maps chooses to highlight a function of your > account history?

Google has become good at telling you what you used to know versus what you want to discover

<comment><USER6> I disagree. Places that I have visited serve as excellent landmarks. I wouldn't want them to be the only thing on the map but having them dusted around makes it very easy for me to know where new places are.

</comment></comment></comment></comment></comment><comment><USER7> It's also interesting to see how maps evolve (or fail to evolve) for places that are not San Francisco.

At the moment, Apple Maps seems to have a more thought-through design for public transit than Google Maps. Which is to say, transit view in Apple Maps is either visually clean and uncluttered, or completely nonexistent, depending on whether they got around to adding your city. Clearly a lot of by-hand design work goes into it, which isn't a very scalable approach.

On the other hand, transit data in Google sometimes appears to have been munged with no human intervention and never received even a cursory check by a graphic designer. For example, turning on Transit view in downtown Toronto will show a mess of ungodly rainbow spaghetti which is meant to represent the streetcar system. There are lines on non-revenue tracks where no streetcars actually run, lines on streets that don't have streetcar tracks, random artefact lines that appear and then vanish two blocks later, and lines drawn diagonally through the middle of High Park where there is no street at all. Somehow, the data behind this spaghetti is diligently updated year-after-year (e.g. the new Cherry streetcar was added in 2016) without anyone involved in the process noticing that the results are hideously garbled.

It also took them about a decade to realize that the SkyTrain in Vancouver is a rapid transit system.

<comment><USER8> transit (the company) has some really nice blog posts about the difficulty of making transit maps

[https://medium.com/transit-app/transit-maps-apple-vs- google-...](https://medium.com/transit-app/transit-maps-apple-vs-google-vs-us- cb3d7cd2c362)

[https://medium.com/transit-app/how-we-built-the-worlds- prett...](https://medium.com/transit-app/how-we-built-the-worlds-prettiest- auto-generated-transit-maps-12d0c6fa502f)

<comment><USER7> I really like the approach described in these links. Targeted algorithms solve specific problems (e.g. ILP to decide ordering of adjacent lines) instead of someone trying to put together a Grand Unified Machine Learning Algorithm that ends up having to be fudged manually after it gets 99 cases right and makes an egregious mistake in the 100th one.

The more general problem Transit seems to be trying to solve (that no one else is) is having a map that can be kept up-to-date with transit alerts and diversions with minimal hassle. For example, it looks like their launch-time picture of Toronto's streetcars (in the first link) was generated when there was trackwork at the College and Bathurst intersection and the corresponding streetcar lines were being diverted around it.

The second link explains rather well the reasons behind some of the problems evident in Google's Toronto map. For example, the unsnapping issue for adjacent lines occurs a lot because streetcar lines are heavily interlined.

<comment><USER8> they really are a great company. when there was an outage in san francisco's schedule reporting system, they had users tag themselves as being on specific buses, and tried to synthesise their own real-time schedule from that.

</comment></comment></comment></comment><comment><USER9> One thing I think Google has going for is it "Guides" program. Where user get "points" for correcting mistakes, adding new places, and publishing pictures. I have been in it for a few months and it feels good to contribute.

<comment><USER10> I was uploading images to Google Maps before that anyway, and if I recall signed up for it, it's just a point meter.

Google then sends you a summary of how your contributions were doing. Recently they send me some E-Mail to the effect of "Awesome! Your image on <business name> has been viewed 100 thousand times!" or something like that.

It entirely turned me off the whole thing and I haven't contributed since. I thought "why am I contributing to this ad-powered product that they're monetizing for millions, for free?".

It's kind of hilarious really. If you look at their landing page the benefits you can gain include things like "...and you can also moderate our forums, for us, for free!": [https://www.google.com/local/guides/benefits/](https://www.google.com/local/guides/benefits/)

Yay!

<comment><USER11> > I thought "why am I contributing to this ad-powered product that they're > monetizing for millions, for free?".

Can you show me a single ad on Google Maps?

<comment><USER12> [https://support.google.com/adwords/answer/3246303?hl=en](https://support.google.com/adwords/answer/3246303?hl=en)

</comment></comment></comment></comment><comment><USER13> I was curious to see how well OpenStreetMap (OSM) had these locations mapped: [http://www.openstreetmap.org/#map=19/37.77620/-122.42455](http://www.openstreetmap.org/#map=19/37.77620/-122.42455)

<comment><USER14> With this site, you can compare up to 8 maps at once:

[https://mc.bbbike.org/mc/?lon=-122.424438&lat=37.776229&zoom...](https://mc.bbbike.org/mc/?lon=-122.424438&lat=37.776229&zoom=18&num=8&mt0=mapnik&mt1=google- map&mt2=hike_bike&mt3=bbbike-bbbike&mt4=tomtom-basic-main&mt5=mapquest- map&mt6=bing-map&mt7=nokia-public_transit)

<comment><USER15> Wow, thanks for posting that, it is really nifty. And makes it much easier to confirm what I already figured for a while: OSM being open really helps in adding a ton of interesting details which matter to me, whereas the bigger map players are overwhelmingly undetailed in areas which aren't considered important enough (at leat I assume that is the reason). Like the small village where I live: OSM has even the smallest footpaths, even going so far as including an official one which doesn't really exist because it is currently part of privatly owned land, it is apty labelled 'old footpath xx' so one can see the new route is now 'footpath xx'.

<comment><USER16> This is the sort of thing I do in my local area; update OSM with anything I notice that's missing and seems like it belongs.

The bulk of my updates are local trails through the bush from when I go exploring, based on my GPS tracks. But I've also been adding pedestrian paths between streets, new roads from residential developments, and so on.

I'm guessing it just takes a few of this kind of person to keep OSM up-to- date. It's a shame it's not more widely used directly by the general public with some way of flagging errors.

</comment></comment></comment></comment><comment><USER17> Additional data point about the missing "coastline dropshadows", on top of the general "bleaching" trend: that kind of effect is also not free to implement in WebGL or in mobile apps. Plus the folks that were involved in designing it have since left.

<comment><USER18> How so? Drawing a drop shadow is not _free_ , but on a GPU it should be rather cheap. It's just a blur of an all-black version of the object; not only are blurs fully parallel, they're separable (into successive operations blurring along the X and Y axes), reducing the number of input pixels that have to be considered for each output pixel. For a shadow in particular you don't need a very high-quality blur, you can act on single-channel greyscale images (less bandwidth), and the usual depth testing should skip running the pixel shader on pixels covered by the shape itself. And of course GPUs are only getting faster, not slower.

But the wording of your post suggests your info comes from the source, so maybe I'm missing something.

<comment><USER17> It's not expensive, but it all adds up. I put the words in quotes because it's not actually what is commonly known as a drop shadow ([https://en.wikipedia.org/wiki/Drop_shadow](https://en.wikipedia.org/wiki/Drop_shadow)). It's more like a silhouette shader. This picture shows the effect in full glory:

[https://2.bp.blogspot.com/-C3L7c1Y1ck4/UZOk1ldMiBI/AAAAAAAAC...](https://2.bp.blogspot.com/-C3L7c1Y1ck4/UZOk1ldMiBI/AAAAAAAACs4/KtymYa4tM78/s1600/Screenshot+2013-05-15+at+12.38.58+AM.jpg)

I can't remember if the highlighted water region was in a fixed location or if it followed the sunlight. (You definitely see building shadows change direction according to the time of the day in 2D WebGL mode, e.g. near the Eiffel tower. This is what I mean when I say that it all adds up, especially with WebGL 1.0 and an underpowered GPU like the original Chromebook Pixel's Intel HD4000.)

<comment><USER19> Do people actually use the Chromebook Pixel Mark 1 in the Googleplex and is 3D performance on maps a problem for them?

A while ago I took off the 'designer' font choices from a website (spider grey text on grey background, kerning mangled) with some local CSS. Everyone prefered the simple legibility to what was on my screen so we set the website to be like mine, legible.

I wonder if some people on the Google Maps team had a similar internal hack to optimise their workflow - turning off graphics cruft - get back to legibility - and if someone got this fed back into the actual design, 'as proven by the team'. I prefer this evolution of design, from people who have to get the data right in the first case and how they 'optimise' the presentation of that information for themselves.

</comment></comment></comment></comment><comment><USER20> > _This all seems to suggest that Google's location data is more precise than > Apple's. (Or that Apple's geocoder is buggy.) And perhaps here we're seeing > the fruits of Google's decade-long Street View project._

How can Apple catch up? Is there an obvious acquisition?

<comment><USER21> Waze was the obvious acquisition, because the Map editor is well done and accessible on the web, the community is very active and Apple even used their data, but Google was smarter and acquired them.

Apple Maps is limited to Macs and iDevices, while Google Maps is accessible essentially everywhere (web and Search page and Android/iOS). Because of this, it's easier for the masses to update information on Google Maps than Apple Maps.

<comment><USER22> Though I'd give anything to be able to use Google Maps with CarPlay.

</comment></comment></comment><comment><USER23> My biggest problem with google maps is that it doesn't respect the font size settings of my device. A four point font is not ideal for my eyes in the best of conditions, much less when travelling and navigating.

<comment><USER24> I know it is useless to you if you are stuck on an old OS version but IMO Nougat did this right :

\- changing the font size is a mess .. I work on UI on a large Android app and it is not trivial to make a design adapt to very large font sizes without sacrificing performances. Most apps don't bother though .. so you end up with mangled text fields.

-Nougat still support font size changes but has also added what I think is a better implementation : variable density. The OS can 'lie' to the framework and the running apps and declare a pixel density different than its natural one.

That way the whole interface gets scaled (since interfaces are designed in density independent pixels).

Works like a charm and won't have any UI glitch because of it.

</comment></comment><comment><USER25> Justin O'Beirne's articles are extremely detailed as always. It's definitely a must-see for mappers whatever the company or products you're working with.

<comment><USER17> He seems to be gently trolling his former employer, too.

<comment><USER25> But he is consistent since 2010 in his point of view and analysis process. Getting even more precise, so or course it might have trolled a little bit but his arguments make a truly interesting whole.

</comment></comment></comment><comment><USER26> I can't for the life of me understand why Apple pays TomTom for maps of places where OpenStreetMap is unequivocally more accurate. OpenStreetMap also has the correct layout of the footpaths at the north and south of the park, points of interest for _every bench_ and a marked area in the location and correct shape of the playground, making the data (at least assuming Google renders their best data) considerably higher quality. I think this says a lot, especially considering the default leg-up that Google has here. They have images of the contours of every one of those paths, they have GPS traces, they have photogrammetry-quality photography and location, they have lots of people writing photogrammetry software; and yet for some reason they still don't appear to fuse the streetview, aerial, and satellite imagery, or seem to do feature detection for points of interest.

The big problem which seems to make it not worth expanding your dataset for graphical maps, is that it is quite difficult to display a lot of data, and still be easier to read than an aerial photograph.

<comment><USER27> > I can't for the life of me understand why Apple pays TomTom for maps of > places where OpenStreetMap is unequivocally more accurate.

I suppose they can't easily, since the OSM license change.

My understanding is they'd have to open a lot of the geo data that they integrate together into their maps (POI, public transit, etc.), which might not be feasible as I suspect most of what they integrate is commercial and not owned by them.

(someone could check, but while Apple Maps had been using OSM e.g. for Pakistan, did they ever switch to post-relicensing data anywhere, or do they just keep using 2012 data?)

<comment><USER26> I mean, if OSM is more accurate anyway, then they might as well have a staff to generate their own data. There's no point in being greedy with their POI annotations if the end result is not sufficiently detailed to be useful anyway.

<comment><USER27> It's often easier to acquire it at least partially, it's not necessarily being greedy as much as not owning the 3rd party data in the first place (but having a license to it).

OSM is more of an all or nothing, everything has to be shared back, so it's hard to be pragmatic and mix different sources some open and some proprietary.

(and not every company wants to run a full fledged geo operation, and those can do it at scale will often end up keeping their data proprietary)

<comment><USER28> Mixing is hard, using different sources for different sorts of data is likely fine.

[http://wiki.osmfoundation.org/wiki/Licence/Licence_and_Legal...](http://wiki.osmfoundation.org/wiki/Licence/Licence_and_Legal_FAQ#What_exactly_do_I_need_to_share.3F)

 _You can however, put separate and distinct data layers on top of your map, such as icons showing specialists points of interest, routes, track logs, shaded areas, contours and the like, then Share-Alike does not apply to these elements as long as they do not interact with the map underneath._

</comment></comment></comment></comment></comment><comment><USER29> I was surprised by how out of date Apple maps were. I guess TomTom doesn't update their data that much.

<comment><USER30> In the UK Apple maps is superior in one important way: it knows about road closures. Google maps here still doesn't seem to take into account planned closures, which are published by the council, so often it'll direct you right into a roadblock.

(Reading the article, Apple sources data from TomTom, which probably explains why they have good up-to-date satnav information.)

</comment></comment><comment><USER31> The thing I still don't get is, why don't any of these map services indicate traffic lights? When navigating to an unfamiliar place, counting the lights, or looking for the next traffic light, is much easier than using distance or street names.

<comment><USER32> OpenStreetMap has this. I don't see a use for it, but if someone sees a use for it, they're free to add it to the dataset. Seems you and others find it useful, and it's in there :)

<comment><USER28> You wouldn't be able to rely on "turn right and go through 2 stop lights" type directions derived from OpenStreetMap, traffic lights aren't mapped all that consistently.

<comment><USER31> Ah, bummer :-(

<comment><USER28> It isn't super complicated data to capture, I think a single person could fill in a small to medium sized town in an easy weekend.

There's an issue where intersections aren't really mapped in OSM (at least in terms of priority, turn restrictions are increasingly captured), the pieces are all well modeled but there isn't much information about how they fit together.

</comment></comment></comment></comment></comment><comment><USER33> The At a Distance blog has extensively covered Apple Maps' deficiencies (and progress) in Japan where Yahoo maps is the best option.

[https://atadistance.net](https://atadistance.net)

<comment><USER34> It may seem strange but Yahoo is indeed the best maps app in Japan. Yahoo (Japan) also makes the best transit app here.

People give Google Maps a lot of credit but I find it really hard to use as a means for keeping track of places I like, or for discovering new places. For example, if I want to label a custom pin, I have to grant Google some sweeping permissions to use my web and mobile activity data. I couldn't grant that permission if I wanted to, as it's turned off somewhere in the bowels of my G Suite domain management settings.

</comment></comment><comment><USER35> It can't be coincidence that Google's increased focus on areas and places brings it closer to Apple Maps. It's easy to miss because of Apple's poorer data, but I think their app legitimately bested Google in some areas (heh), and this is Google absorbing those characteristics.

</comment><comment><USER36> Id love to see them compare Here maps. I use Here for all my driving. Its much better interface, directions timing and has some unique features.Also I like the idea of supporting an independent player. While Google Maps is better when looking for businesses like a restaurant etc.

<comment><USER29> The majority of Here maps is owned by the trio of Dieselgate companies Volkswagen, BMW, and Daimler. I would hardly call them an independant player. I've also tried Here maps and about the only good thing about it was the ability to download maps and speed limit warnings. Everything else was mediocre and outdated.

<comment><USER36> Speed limit warning must have saved me a few tickets! I find its a better driving platform as its simpler. You can more easily read it at ta glance, whereas Google maps keeps getting worse on this front as they keep adding to it. Also their direction timing seems better. I think its a tad earlier and doesn't tend to get caught in loops where it tells you the same or irrelevant information again and again.

</comment></comment></comment><comment><USER37> How can I configure OpenStreetMap to use the old Google Maps colours with an emphasis on roads?

I'm currently using some offline cached maps tiles downloaded with MOBAC, and waiting for Google to change their colours back again. Now I realise that it's a place map, and places generate advertising revenue, I think that Google is unlikely to fix that.

Another problem that happened recently in Taiwan was when Google removed pinyin (latin letters) from the street names, leaving only Chinese characters. Foreigners living here couldn't find their way around. I threw together a quick alternative to GMaps, and told people about it - until Google put the pinyin back about a week later.

<comment><USER26> There is Mapbox, they are a hosted provider which has a pretty straightforward tool for styling the map. I think they also have a starting style which is pretty similar to older Google Maps. I think they also have some level of customization for labels, and if you have a big need to have Pīnyīn I'm sure that something could be done for that.

</comment></comment><comment><USER38> It seems that with the increasing attention given to 'places' and less emphasis on the actual roads we are looking at Google getting Maps ready for the roll-out of self driving cars where the focus is on the destination rather than the journey.

<comment><USER39> I'm pretty map-aware and a bit of a pre-planner, but even my usual usage is to choose a destination and have Google give me directions. (Then maybe I'll tweak it or whatever.) Same with my 65-year-old dad who still buys a folding paper street map for each new city he visits. Does anyone still visually plan a route on Google Maps by just looking at the road markings?

<comment><USER40> No, because it is a pain to do, not because I would not want to. Rarely because it wants me to take a closed road. More often because I would like to travel through some part of a land and am not interested in the most efficient way of reaching my final destination.

</comment></comment></comment><comment><USER41> It's a pitty he doesn't compare it to OpenStreetMap also.

</comment><comment><USER32> I'm a little disappointed that the "Cartography Comparison" only looks at two commercial maps. Not even all commercial maps, let alone including OpenStreetMap. A big post detailing the minute differences between two of the big ones are not that interesting...

</comment><comment><USER42> Well, here in Venezuela Apple Maps is practically useless. Traffic data just arrived about a year ago to Google Maps and it's been a fantastic tool to get on time to most places. Apple Maps doesn't even give directions.

</comment><comment><USER43> My main complaint is the decrease is display priority of personal labels except for the stars.

Back in the day before labels I would star places I needed to "bookmark" regardless of importance in time and how ephemeral that mark was. Then when labels appeared I thought that was ideal to mark places which are always important (because I can personalize the label) as opposed to a generic star which most likely meant a temporary bookmark.

It seems that with this new Google maps, the stars always get display priority (it's shown even at smallest zoom level) whereas labels only appear at a algorithmically defined location (which seems arbitrary).

All this time wasted in personalizing my map.

</comment><comment><USER44> Google maps has the lane to use and Apple maps does not and i have a terrible sense of direction so Google maps is really my only viable choice.

</comment><comment><USER45> > And as of 2014, Google had already driven 99% of U.S. public roads

Nope. Try dragging Pegman over anywhere in the rural Midwest and see what you get. 99% of US _paved_ roads, perhaps.

<comment><USER46> Mapping a road and photographing it for StreetView are also not the same thing.

<comment><USER47> Why not? If they're "driving" the roads (their term), they're presumably photographing them. You don't need to drive the road just to map it.

<comment><USER48> Because the Street View rig is expensive to manufacture; ordinary "driving the roads" can be done with normal vehicles. (Heck, you could even source data from usual drivers, if you owned e.g. Waze)

</comment></comment></comment></comment><comment><USER49> Great in-depth analysis that goes beyond what's obvious on the surface.

</comment><comment><USER50> This guy is a Real American Hero

</comment><comment><USER51> In response to the very last lines of the article:

"Three different looks? What's going on with Google Maps' design?"

A/B testing perhaps?

<comment><USER52> I think you mistook the section separator for the end of the article; that sentence isn't even halfway through it :) The rest of the article tries to answer exactly this question, and has a more interesting hypothesis than A/B testing.</comment></comment>


Show HN: Fail2Ban attack reports show where those password scanners come from - <AUTHOR> https://int80k.com/ftb/

<comment><AUTHOR> Would anyone be interested in downloading the set of 2M attack reports? I could put up a DB dump such as:

      date,perp_cc,victim_cc,perp_asn,service
      1236818863,PL,GB,5617,SSH
      1236840986,FR,GB,20824,SSH
      1247779192,PA,GB,21599,SSH</comment>