HNHacker News
TopNewBestAskShowJobs

NickGerleman

612 karma · joined December 25, 2015

submissionscomments
NickGerleman··on Precompiled headers and why Squid won't be using them (2023)
PCHs give a sour taste in my mouth after working on a project which very liberally added commonly imported headers to a huge one. In practice, it meant each TU was indirectly including many more headers than needed, and it was harder for humans (or IDEs) to reason about the real dependency chain. While builds were faster, they also started using much more memory.

You also can end up needing to rebuild the world, if touching a header that is part of the PCH, even if it isn’t really needed by all the targets.

Modules and header units were supposed to solve these a lot more cleanly, but is still not well supported.

NickGerleman··on Bounties Damage Open Source Projects
A company using React Native recently used bounties to solicit bug-fixes to RN issues their app was hitting.

A lot of positives came out of it, and it did improve framework quality. There are challenges with the model though. More changes than not are high quality, but some aren’t, or are just inherently risky, and it’s especially tricky to discern when first time contributors touch systems that might no longer have an active maintainer. Unlike someone employed full-time, there isn’t the opportunity to establish long term trust, and the contributor might not be around to support their change if something goes wrong.

A lot of changes fell through the cracks, or needed maintainer time that wasn’t there, which creates a bad situation where someone could have done great work, but isn’t getting paid. Knowing that someone is losing money if you don’t accept a PR can also trend towards guilt-inducing as a maintainer.

NickGerleman··on Vector Database benchmark with 1536/768 dim data
Beyond the other grains of salt, it seems awfully inorganic that the same user advertises this database 6 times as their only submission history.
NickGerleman··on Using mmap to make LLaMA load faster
Worth pointing out, there has been quite a bit of contention around this change, both technical, and some accusations of plagiarism/miscrediting here. https://github.com/ggerganov/llama.cpp/pull/711
NickGerleman··on Discovering Azure's unannounced breaking change with Cosmos DB
It's a good question well above my pay grade :). Changing culture isn't an easy problem.

I suspect the way Microsoft does interviewing and performance management (very local to the specific team) contributes to the inconsistency.

MSFT has also been fairly open to its employees that it does not try to compete with competitors like Google, Meta, or even Amazon, in terms of compensation. So it isn't really trying to get the best engineers, so long as it can continue to print money.

There are still folks there who are incredible, but the floor is shockingly low at times. Folks will self-select, so you will then get teams which are more homogeneously good or bad.

NickGerleman··on Discovering Azure's unannounced breaking change with Cosmos DB
I previously worked at Microsoft in an unrelated area, but had a friend who worked on CosmosDB, and later a different part of Azure.

There are some Microsoft products I genuinely love, but some are terrible. To an extent it is a reflection of the inconsistency in internal teams. Culture, values, skill level, and quality bar are all over the place depending on who you talk to, even compared to other large companies.

From what I had heard, CosmosDB was not a healthy team, and I would not consider using it as a product.

NickGerleman··on Some remotely exploitable Linux kernel WiFi vulnerabilities
I'm surprised there were not compiler errors for unreachable code, in the cases where the code was returning directly before a goto.

Edit: Looks like GCC removed the warning because it was unreliable. Clang and MSVC seem to be in better shape. https://gcc.gnu.org/legacy-ml/gcc-help/2011-05/msg00360.html

NickGerleman··on SolarWinds hackers were able to access Microsoft source code
Code signing makes that pretty tricky. System DLLs will have integrity checks against msft certs.
NickGerleman··on Free user space for non-graphics drivers
How did Qualcomm get on the "naughty companies list"?
NickGerleman··on Ruby Concurrency Final Report
I haven't touched Ruby in a while, but are there any common multithreaded use cases? It seemed like the direction was to go multi-process for web workloads (E.g. with Unicorn).
NickGerleman··on Evaluating Bazel for building Firefox
Microsoft internally uses something pretty similar to Bazel. I'm not familiar enough with the two to fully understand motivations for the divergence. It supposedly initially ran poorly on Mac, just due to differences in what is cheap on different platforms. I wonder what kind of inherent performance differences you would find in something "Windows first" vs "Linux/MacOS first" https://github.com/microsoft/BuildXL
NickGerleman··on Text Editing Hates You Too
I until very recently worked on Microsoft Word. The whole problem gets even more complicated when you add support for richer content like formatting, images, comments, etcetera. Sprinkle in requirements for things like three-way merge, simultaneous editing from multiple authors, undo behavior on top of that, and the amount of cross-cutting complexity for something seemingly simple can be absolutely astonishing.
NickGerleman··on An introduction to deterministic builds with C/C++
Another benefit of deterministic builds is that build output caching becomes more reliable. Microsoft has a system used for this that is heavily used internally that was recently open sourced: https://github.com/microsoft/BuildXL/blob/master/README.md
NickGerleman··on The not so hidden cost of sharing code between iOS and Android
I work on Office and am glad someone brought up this point. Writing a C++ business logic layer is probably too much for a simple CRUD style app, but the equation changes once the view/platform layers are a tiny minority of the logic in your app.
NickGerleman··on Google Chrome Incognito Mode Can Still Be Detected
I’m a bit surprised Chrome developers went the route of an in memory filesystem instead of trying to sandbox and clear real disk access. Silently using up to 120MB without realizing sounds pretty bad.
NickGerleman··on Here Come the Fake Videos, Too
Radiolab did a story related to this a while ago called "The Future of Fake News". It's worth a listen. https://futureoffakenews.com
NickGerleman··on Amazon will launch its own delivery service to compete with FedEx, UPS
I've been in Seattle for around a month and can completely agree with this. One time half of an order went to a wrong apartment, and the other half came the next day. UPS and related have access codes to get into the building where Amazon doesn't. Having free same day delivery is a life-changer, but Amazon needs to improve a lot.
NickGerleman··on Microsoft Office 2019 will only work on Windows 10
I've worked on Office. There's a ridiculous amount of effort put into file format backwards compatibility. Someone I know had to consider Office 2007 compatibility when working on a feature within the last year.
NickGerleman··on Ajit Pai is right
I find it alarming, and somewhat ironic, this article was removed from HN temporarily for it being repeatedly flagged. I don't fully agree with the article, but using a mechanism to prevent abuse to hide an opinion that you disagree with is akin to the forms of censorship net neutrality is meant to prevent.
NickGerleman··on Announcing tools for the AI-driven digital transformation
I interned at MSFT working on Word. Engineers and PMs in Office see a lot of opportunity in AI. PowerPoint Designer and the newer ML based proofing in Word are good examples of things that have already shipped. I never saw anything resembling a war.
NickGerleman··on Comdb2 – Bloomberg's distributed RDBMS under Apache 2
This is really cool but I'm curious why Bloomberg would need this. Ie, what special needs does Bloomberg have that would lead to a primarily non-engineering company investing the resources to create this. Was there nothing off the shelf that would have fit their needs?

I don't mean that in a derogatory way, I'm just curious what motivated making this.

NickGerleman··on As Computer Coding Classes Swell, So Does Cheating
I can confirm that he does. He is a full time lecturer for 3 or 4 classes a semester and produces a staggering amount of material. He is careful to never repeat assignments and each one requires detailing the project, creating automated tests, creating all sorts of frameworks for them(eg, import this jar and pass the instance of your game logic to this black box and you'll have an interactive Swing application to play the game). He plans out his lectures thoroughly and has 2-4 hours of them a day. This doesn't even cover office hours or meetings.

I never really realized how much work a good lecturer does until I was a TA under them. I have so much more respect for people teaching introductory classes now.

NickGerleman··on As Computer Coding Classes Swell, So Does Cheating
I've been a TA for a couple CS classes at Iowa State University. Cheating here at least is pretty rampant. I would guess 1/3 or more of the students cheat in some capacity.

Some of it is really easy to detect too. For a first semester freshman class, I tried using MinHash to cluster student submissions together. Maybe 10% of the assignment have near duplicate pieces of code. More comprehensive methods like MOSS (Measure of Software Similarity) find much more.

It's hard for professors to take time to deal with it. A professor more or less told me that the process to report it to the dean of students would take months of his time, and that he already spent 55 hours a week for his classes. He explained that the time it would take to go after the cheaters would detract from time to make good assignments, labs, and lectures for the students.

It's hard to see a professor for a large class (500 people) having the time to deal with handling cheaters so the problem continues. I'm curious how common this is as a problem at other schools.

NickGerleman··on What’s New in Bash/WSL and Windows Console
I've definitely had issues doing an upgrade on a real Ubuntu installation. Years ago I needed to update a more or less clean install of Ubuntu Desktop. It managed to completely break Gnome somehow (This was before Unity). I'm guessing things are better now and that the server distribution is better for this but I could see complications happening.
NickGerleman··on Apple proposes new web 3D graphics API
"The major platform technologies in this space are Direct3D 12 from Microsoft, Metal from Apple, and Vulkan from the Khronos Group. While these technologies have similar design concepts, unfortunately none are available across all platforms."

So Apple, the only company not supporting Vulkan on their platforms, is complaining that there isn't a cross-platform solution?