HNHacker News
TopNewBestAskShowJobs

YorkianTones

134 karma · joined August 4, 2014

submissionscomments
YorkianTones··on Meet the Founder Trying to Start the Self-Driving Car Revolution
Detection of abnormal conditions might be tractable (though I wouldn't call online vision or recognition trivial problems). But taking action is harder. A piece of debris might manifest in a way that causes a self-driving car to skid to a halt or swerve - dealing with abnormal conditions in real time on crowded roads is certainly not a trivial problem, especially given the stakes.
YorkianTones··on Meet the Founder Trying to Start the Self-Driving Car Revolution
Even Google's version will have risks and I expect will make mistakes in early iterations. Having a max speed of 25 MPH and limiting deployment will reduce some of this risk, but AI is hard and the environment is very open and will constantly include novel states the agent has to make sense of. Personally I'm concerned the initial Google design doesn't include a steering wheel for manual override - seems overconfident to me even for normal scenarios let alone degenerate ones (weather, internet connectivity, GPS malfunction, construction, bad maps, road damage, etc.).
YorkianTones··on CoreCLR is now open source
^This. This is the hard part. Interdependencies and compat.
YorkianTones··on CoreCLR is now open source
For one, it's big. When I was working on part of the UIPlat team for Windows, my private enlistment just included build infra and maybe 5% of the sources and associated tools/tests and it still took up 60+ GB (100+ GB with binaries). I don't think you can just throw it on Github.

Two, compatibility. Even if you fix a bug, it usually needs to be versioned in some way to avoid breaking apps that rely on the bug. OS code, once shipped, becomes feature. Fixes require a fair amount of due diligence besides just identifying the problem and the correct fix. The historical context of how the issue was introduced and how it has migrated to other branches needs to be understood by grepping through the source history graph. Suites of build verification tests, regression tests, integration tests, and unit tests need to pass. Although Microsoft has extensive infrastructure for buddy builds and integration staging, external parties won't. So at best they could suggest a fix to Microsoft to complete the due diligence on. But usually suggesting a fix is easy and vetting it is the grueling part.

Three, private forks of Windows seem like maintenance and compatibility nightmares. Fragmentation would likely disrupt windows update's ability to apply patches and keep the system secure. Windows' ability to run across so many devices is kept sane by keeping a relatively small, consistent trusted computing base. Merging together forked Windows repos is a disaster. The XBOX team forked Windows 8 for a few months and made some tweaks to get XBOX One out the door, and then some folks had the nasty job of having to try and consolidate the codebases against moving targets. No one has enough context or time to perform these kinds of merges individually, nor would ever volunteer to, so they need to be massive coordinated efforts between teams.

Four, variants. You're not going to want to deal with all the possible permutations of Windows SKUs, processor architectures (ARM/X86/AMD64/IA64), build flavors, etc.

Five, it's a mess. There's plenty of archaic cruft, possible trade secrets, and lurking vulnerabilities. Open sourcing everything would be like opening Pandora's Box. It's too risky. Curating out some portion of this to open-source would be a massive undertaking and ongoing maintenance cost.

I think it makes more sense to take more mature modules, like .NET core or Roslyn, and open source them as separate entities. Modules are more reusable, and community-driven changes are easier to curate when they can be isolated. Windows has some components which it probably makes sense to open-source, but the entity as a whole is too unwieldy in its current form. .NET is designed more modularly.

TL;DR - Windows is an unwieldy behemoth and would be difficult to open source.

YorkianTones··on How, and Why, Apple Overtook Microsoft
I think Microsoft was being squeezed out of new markets by Google and Apple. I'm not sure how accurate it is to say Microsoft "is being crushed by opensource (sic)". Also, despite being overshadowed by other tech companies, Microsoft's business lines are healthy and growing.

Stacking up Microsoft versus Apple, their businesses are fundamentally different - see exhibit: https://visualign.files.wordpress.com/2012/02/applemicrosoft...

Interestingly Apple (Hardware), Google (Ads), and Microsoft (Software) are quite dominant in different business areas. While Microsoft needs to keep a close watch on Google and Apple encroaching, I think AWS is a bigger rival in terms of growth opportunity.

YorkianTones··on W. H. Auden's syllabus will make your college courses look like a piece of cake
"Nevertheless, 3,000 pages of Shakespeare and Sophocles in four months still sounds dense."

Seems reasonable. Assuming it takes you on average 2 mins to digest a page, we're talking 100 hours total or 8 hours / week. I have taken engineering classes with a workload of over 20 hours / week.

YorkianTones··on Lab 1: Booting a PC
We used this set of labs as the basis for the master's OS course at UW. They're fantastic and fairly straightforward, providing scaffolding and then having you implement basic versions of interesting OS facilities like context switching, exception handling, interrupts, scheduling, RPC. Really rewarding (and sometimes quite painful - debugging an errant OS can be quite a bitch).
YorkianTones··on Final Root Cause Analysis of Nov 18 Azure Service Interruption
Yup, you can get up and running with a Linux VM in seconds. I've found Azure to be cheaper than AWS for micro VM instances. Running a twitter bot on AWS cost me ~ $10/month but after switching over to a CentOS VM on Azure I'm paying about $6/month. I also have dedicated Ubuntu and Windows Server VMs for personal projects and hosting.
YorkianTones··on Xv6 – A Simple Unix-Like Teaching Operating System
We're using JOS lab assignments in the master's OS class at University of Washington this quarter. I think the labs are quite good at illustrating basic OS principles through having you implement the core functionality (paging, interrupts/exceptions, user mode environments, scheduling and context switching, etc.). Some of the hairy x86 scaffolding C and assembly code is provided - you concentrate on the core OS functionality. The downside is you don't learn how to write an OS completely from scratch, and more reading of x86 manuals would be required.

I disagree that you completely wasted your time in college - sounds like you enjoyed yourself!

YorkianTones··on Getting rid of burnout permanently
There are doors. There are revolving doors.
← PreviousPage 2 of 2