What's your favorite hardware problem? | One Dev Question with Larry Osterman.
#devcommunity #microsoft #hardware #pc
https://www.youtube.com/watch?v=TB5IFVkMMIw&ab_channel=MicrosoftDeveloper
Long term Microsoftee, dad, singer, software person.
I've been at Microsoft for a REALLY long time, no idea how that happened.
Warning: There may be cat pictures.
Profile Pic from "Not Invented Here" by Bill Barnes and Friends
What's your favorite hardware problem? | One Dev Question with Larry Osterman.
#devcommunity #microsoft #hardware #pc
https://www.youtube.com/watch?v=TB5IFVkMMIw&ab_channel=MicrosoftDeveloper
@foone I love how you've managed to compress the past 6 months of my life into a few toots.
Rust is the most actively user hostile language I've ever used.
Btw, "super temporary files" - this is a bit of a "trick" you can do with files on Windows. If you create a file with FILE_FLAG_SEQUENTIAL_SCAN and FILE_ATTRIBUTE_TEMPORARY it's a hint to the filesystem to aggressively avoid hitting the disk when writing or reading the file - essentially it creates a memory backed file, unless there is sufficient memory pressure to force it to disk.
It's a really handy trick if you want to take advantage of functionality like TransmitFile.
Two related stories. When we were designing the Windows Runtime, one of the significant sources of contention was whether WinRT types should follow the COM model of dispatch through a vtable or the C++ model of direct function calls for most function calls
One of the developers on the team prototyped two implementations of the same class, one of which exclusively used direct method calls, the other which indirected through a vtable.
Much to their surprise, the *worst* case for the vtable dispatch code was that it performed at parity with the direct call, even though there was a memory indirection involved in the method call.
Second story: When I built the POP3 and IMAP servers for Exchange back in the mid 90s, the message retrieval code was implemented by writing the contents of the message to a file on disk, then calling TransmitFile to transfer it to the client.
A new dev manager came in, and after I had explained how it worked, he told me that there was no possible way this could be faster than using non-blocking sockets entirely in user mode to get the best performance.
So at their insistence, I built a non-blocking socket implementation, and tested it.
The "more efficient" version was orders of magnitude slower and consumed significantly more CPU time than the original implementation. That result was largely because (a) the files created were "super temporary files" and (b) the TransmitFile was designed to be as efficient as possible.
The moral of the stories: Never trust your assumptions about performance, because they are almost certainly incorrect.
@heaths same with people avoiding Box<dyn Trait> because of the v-table jump: almost every time ive heard that as the justification, after measuring there was no real difference in production workloads.
@ThisIsTrue Fwiw, poo poo point Is a really popular day hike in the Seattle area.
@cellio We similarly have a nest in our rafters, it provides hours of endless entertainment for our cats.
No littles seen yet, but lots of mom and dad getting food.
@eljefedsecurit @JenMsft I feel you. My rules are: no mask outside, when I'm in an area where I know they have improved hvac (in practice, this is the msft campus only), when performing, and at home.
Otherwise, the mask stays on.
And it feels quite lonely sometimes.
Tech question: Does anyone know of a C++ snippet generator, preferably one that integrates with Doxygen and markdown?
I'm more than happy to write my own, but I'd rather find someone else who has solved the problem for me :).
@TartanLlama Wonderful to hear.
It can be challenging to use VS with cmake (SO many visual studio features simply don't work) so it's nice to see new features coming.
And to be clear: I truly appreciate features like cmake debugging - it has saved my bacon more times than not.
@TartanLlama Very nice.
Any chance it can be extended to those who use CMake as the build orchestration engine rather than msbuild?
Quinn is one of my must-watch Saturday posts. ToT whenever he posts (which is too infrequent).
Also, Brandon at Inheritance Machining is one of my new obsessions.
And no politics that I've been able to discern.
@majornelson You're going to work at xbox for the next 20 years, at least.
People still think I work on the audio stack in Windows...
@DavidAnson @arthurwyatt @256 Honestly, it looks like the circle in front of building 16 to me, based on how the curve of the sidewalk runs.
A new One Dev Question video just dropped! This one about the difference between Azure APIs in the Microsoft namespace vs those in the Azure namespace.
Last week was the Barbershop Harmony Society's international convention.
The quartet Midtown won and scored the very first 100% score in the performance category.
This is their set.
There are a number of "in" jokes but it's insanely funny.
@natecull Here's the worst thing. It took me several seconds to realize that you weren't talking about the Wicked Witch of the West...
I may have my priorities mixed up...
Infosec folks: Is content type sniffing no longer a horribly bad thing?
Does it matter if the content sniffing is on the service or on the client?