A week later, when the GetCpuUsage function was added to process.cc, the CloseHandle call at the end of GetProcessMemoryUsage was deleted/pushed into GetCpuUsage.
The unified diff for that change doesn't point out that code was deleted from GetProcessMemoryUsage (the CloseHandle() call is now in GetCpuUsage).
Someone ok'd those changes...
Also MS's PREfast/PREfix static code analysis tools missed that bug as well. I'd update my static analysis perl script to check for that case, but one of the comments to TFA said chatgpt will catch the problem, so I'll punt.
Minor nit: The ProcessInfo struct declares fields in an awkward fashion if you're debugging, esp. if you're viewing memory of the struct. One should put small size fields at the start of the struct, large size fields at the end. As is, the large name character array will occupy a large amount of space and if you want to see the values of the small fields, one would probably have to scroll to locate these small fields after the large character array.
Minor nit: What's with the magic number 1024? At least in recent versions of the process.cc file, they've gone from a fixed 1024 element array (each element == MAX_PATH * TCHAR + sizeof(DWORD)*3 bytes) to a dynamic array.
I was surprised also when this happened, but pleased. The trust was nice. The fact that they needed to give me the symbols in order to understand the issue was surprising. Why couldn't they find the calls in their source? Or analyze the trace themselves? Curious.
That is a problem they haven't tried to solve. Driving directions could be for tax/ride-share or a person in their own car. If Google Maps doesn't even ask you which it is then it can't possibly reliably give you correct directions. I'd love to see that fixed.
And yet, as I mention in the blog post, Google Maps actually does understand how Vancouver's addresses work. It can find the location where a non-existent address would be if it existed. But for addresses like 138 W 6th Ave it chooses not to, instead trusting... well, I don't know what it's trusting. But whatever it is trusting is wrong, and is resistant to being corrected through the feedback tool.
Google Maps may not be able to understand every regional system but it _does_ understand the system in Vancouver. It then, apparently, makes it too easy for exceptions to this system to get encoded in their database and makes it too hard to fix those errors when they are noticed.
I believe that there is no accepted global system for "how street addresses work", but there has to be a better solution then a business owner reaching out to a friend's cousin to try to get a serious problem fixed.
If my fixes had been published in the promised 24 hours then this blog post would not have been written but after two weeks this is the best idea I could come up with.
I think it is practical for Google Maps to understand the systems used in most major cities and then use this knowledge to reduce the number of errors.
I also think it is possible for the feedback system to work better. It does work sometimes, but it is slow and opaque and unreliable. It's even worse for bike directions.
> I believe that there is no accepted global system for "how street addresses work", but there has to be a better solution then a business owner reaching out to a friend's cousin to try to get a serious problem fixed.
The friend's cousin did what they could have done themselves, use the feedback tool.
Right. I (the friend's cousin) did that. And two weeks after the changes were supposed to take effect the directions are still broken and the customers of this business are still inconvenienced.
So I wrote a blog post. It is yet to be determined if that will help or not.
Given that Google Maps understands the rules for street addresses in Vancouver it seems like the problem shouldn't have happened in the first place and should have been auto-corrected and the fix should have been quickly accepted. But none of that happened.
Most non-nerds don't know how to use the feedback tool. That is the reality.
> Most non-nerds don't know how to use the feedback tool. That is the reality.
100%, you've done all you can! I enjoyed the article, but was just remarking that you weren't technically needed to fix the issue. Either the feedback tool works, or it doesn't.
Your bio says that you are a programmer at google. That says a lot to how impossible the situation is to most people. Google maps has been telling me bs for years. When I lived in Cyprus, asking directions to a business would often lead to empty lots. I assumed it was caused by competitors sabotaging the database with bogus updates..
Interesting. I don't know what it means but if I delete the postal code from the 138 address in the map you link to then it goes back to displaying the bad location (with the postal code restored).
This smells like some weird caching, although I do most of my tests in an incognito window to minimize this.