News for hackers. Stuff that matters.
Re:Why do Windows functions begin with a pointless MOV EDI, ... by Vintila on Thursday February 11, 2016 @05:56AM (#11079425)
Got a few good ones? I don't really feel like trawling through almost 5000 articles.
Re:Why do Windows functions begin with a pointless MOV EDI, ... by coldpie on Thursday February 11, 2016 @08:20AM (#11079914)
Re:Why do Windows functions begin with a pointless MOV EDI, ... by Someone1234 on Thursday February 11, 2016 @09:55AM (#11080443)
Can I just point something out about the "Shell Folders key" article... So he whines that developers don't read documentation. So I went and got the "SHGetSpecialFolderLocation" docs[0] which say at the top:

> [SHGetSpecialFolderLocation is not supported and may be altered or unavailable in the future. Instead, use SHGetFolderLocation.]

Alright, so I go and get the SHGetFolderLocation documentation:

> Deprecated.

So neither SHGetSpecialFolderLocation or SHGetFolderLocation are still the correct function for this and I have no clue which is the correct win32 function here because on the "Deprecated" one they don't tell me? And all because I went to MSDN and actually tried to read the official docs.

Microsoft always likes to blame crappy developers, but their documentation is terrible too. Instead of removing the documentation for the registry shell folder key, they should have left documentation and in that article explained why they exist and why you should not use them.

Ultimately Microsoft, particularly in the 1990s, had terrible documentation and they're in no small part to blame for how badly software was written to the platform.

[0] https://msdn.microsoft.com/en-us/library/windows/desktop/bb7... [1] https://msdn.microsoft.com/en-us/library/windows/desktop/bb7...

Re:Why do Windows functions begin with a pointless MOV EDI, ... by coldpie on Thursday February 11, 2016 @10:05AM (#11080496)
I agree MSDN's documentation isn't perfect, but trust me, it is far, far, far better than almost every other API's documentation that I've seen. I can't speak to its quality in the 90s.

Also, your second link says """As of Windows Vista, this function is merely a wrapper for SHGetKnownFolderIDList. The CSIDL value is translated to its associated KNOWNFOLDERID and SHGetKnownFolderIDList is called. New applications should use the known folder system rather than the older CSIDL system, which is supported only for backward compatibility."""

(Fun Fact: I implemented much of the knownfolder and some of the old shell32 PIDL folder stuff in Wine :) )

Re:Why do Windows functions begin with a pointless MOV EDI, ... by thoth on Thursday February 11, 2016 @10:09AM (#11080521)
Midway down the page for SHGetFolderLocation is a remark that says this function is a wrapper for SHGetKnownFolderIDList, which seems to be the one to use.
Re:Why do Windows functions begin with a pointless MOV EDI, ... by djpowell on Thursday February 11, 2016 @06:26AM (#11079504)
I love this one, about DirectX not trusting drivers responses to capabilities requests: https://blogs.msdn.microsoft.com/oldnewthing/20040211-00/?p=...
Re:Why do Windows functions begin with a pointless MOV EDI, ... by Pxtl on Thursday February 11, 2016 @07:37AM (#11079740)
I thought guids weren't based on MAC addresses anymore.
Re:Why do Windows functions begin with a pointless MOV EDI, ... by CJefferson on Thursday February 11, 2016 @07:45AM (#11079768)
They aren't, but they were when this original "bug" in drivers was fixed.
Re:Why do Windows functions begin with a pointless MOV EDI, ... by billpg on Thursday February 11, 2016 @08:39AM (#11079999)
So they wasted a perfectly good network card for nothing.
Re:Why do Windows functions begin with a pointless MOV EDI, ... by periodontal on Thursday February 11, 2016 @01:12PM (#11081801)
They destroyed it ostensibly so that they had a stronger guarantee that that GUID would never be generated again. That said, I suspect they understood it wasn't strictly necessary and were looking for an excuse to have some fun.

Note that even in the MAC-based generation algorithm, it is difficult (but not impossible) to accidentally generate the same one again even on the same hardware since there is a high resolution time component as well.

Random UUIDs have a different encoded version number so it's actually impossible for a modern one to collide with the one they generated.

Re:Why do Windows functions begin with a pointless MOV EDI, ... by thoth on Thursday February 11, 2016 @10:24AM (#11080624)
I've got a bunch I like, here are some of my favorites:

Itanium processor overview (series) https://blogs.msdn.microsoft.com/oldnewthing/20150727-00/?p=...

Lock-free algorithms (series) https://blogs.msdn.microsoft.com/oldnewthing/20110405-00/?p=...

Undefined behavior (also see John Regehr's posts on this): https://blogs.msdn.microsoft.com/oldnewthing/20140627-00/?p=...

Windows debugging specifics:

Rescue broken stack trace: https://blogs.msdn.microsoft.com/oldnewthing/20110309-00/?p=...

Underlying object behind COM pointer: https://blogs.msdn.microsoft.com/oldnewthing/20070424-00/?p=...

View stack of user-mode thread when kernel stack is paged out: https://blogs.msdn.microsoft.com/oldnewthing/20141114-00/?p=...

Identifying an object whose DLL is unloaded: https://blogs.msdn.microsoft.com/oldnewthing/20070425-00/?p=...

Raymond also posts "little programs" occasionally, which are great small examples of various Windows techniques.

Re:Why do Windows functions begin with a pointless MOV EDI, ... by discreditable on Thursday February 11, 2016 @07:51AM (#11079799)
Why was Pinball removed from Windows Vista? https://blogs.msdn.microsoft.com/oldnewthing/20121218-00/?p=...