<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: mdwrigh2</title><link>https://news.ycombinator.com/user?id=mdwrigh2</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Apr 2026 18:44:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mdwrigh2" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mdwrigh2 in "Galaxy XR: The first Android XR headset"]]></title><description><![CDATA[
<p>Yeah, that's exactly what happened with the Pixel C. A lot of politics around who would own tablets and laptops at the time that meant the winds changed direction ~yearly, hence the horribly confusing product line ups that happened.</p>
]]></description><pubDate>Wed, 22 Oct 2025 20:29:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45674751</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=45674751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45674751</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Leaving Google"]]></title><description><![CDATA[
<p>Wrong Ian -- Ian Hickson wrote about that in a blogpost, this post is about Ian Lance Taylor</p>
]]></description><pubDate>Sun, 11 May 2025 15:29:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43954471</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=43954471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43954471</guid></item><item><title><![CDATA[The Scaling Paradox]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.tobyord.com/writing/the-scaling-paradox">https://www.tobyord.com/writing/the-scaling-paradox</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42705870">https://news.ycombinator.com/item?id=42705870</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 15 Jan 2025 00:27:37 +0000</pubDate><link>https://www.tobyord.com/writing/the-scaling-paradox</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=42705870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42705870</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Google must open Android for third-party stores, rules Epic judge"]]></title><description><![CDATA[
<p>You can disable them, which is functionally uninstalling. Actually being able to uninstall them isn't technically possible because their base images live on a read-only partition so they survive factory reset (which erases all RW partitions). The OS could _pretend_ they're uninstalled, but that seems strictly worse than the existing presentation which more accurately reflects reality.</p>
]]></description><pubDate>Tue, 08 Oct 2024 11:26:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=41776125</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=41776125</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41776125</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Log is the "Pro" in iPhone 15 Pro"]]></title><description><![CDATA[
<p>> When we refer to "log", this is almost always means a camera gamma - an OOTF.<p>Wouldn't this be the OETF? OOTF would include the EOTF, which is typically applied on the display side (as you noted).</p>
]]></description><pubDate>Thu, 12 Oct 2023 12:17:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=37856156</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=37856156</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37856156</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Android 13 virtualization lets Pixel 6 run Windows 11, Linux distributions"]]></title><description><![CDATA[
<p>> The ritual to compile, pack and flash super.img into the device is absurd.<p>I typically only do a full flash for the first build after a sync. Afterwards I just build the pieces I'm changing and use `adb sync` to push them to the device, skipping both the step that packs the image files and the flash. The `sync` target will build just the pieces needed for an `adb sync` if you don't know exactly what you need to build; I typically use it so I don't have to even think about which pieces I'm changing when rebuilding.<p>So typical flow goes something like:<p>```
// Rebase is only needed if I have existing local changes
> repo sync -j12 && repo rebase<p>// I don't actually use flashall, we have a tool internally that also handles bootloader upgrades, etc.
> m -j && fastboot flashall<p>// Hack hack hack... then:
> m -j sync && syncrestart
```<p>Where `syncrestart` is an alias for:<p>```
syncrestart () {
 adb remount && adb shell stop && sleep 3 && adb sync && adb shell start
}
```<p>Incremental compiles while working on native code are ~10 seconds with this method. Working on framework Java code can be a couple minutes still because of the need to run metalava.</p>
]]></description><pubDate>Mon, 21 Feb 2022 14:59:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=30416561</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=30416561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30416561</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "The Color of Infinite Temperature"]]></title><description><![CDATA[
<p>I'm not the parent you're asking, but figure you might be interested anyways since I could've likely made the same comment:<p>I work on displays within an OS team. Having some basic understanding of colour theory is critical for a significant number of modern display projects, particularly for the high end. For example, enabling colour accurate rendering (games, photos, etc), shipping wide-gamut displays (how do you render existing content on a WCG display?), etc. More specifically to the planckian locus, it generally comes up when deciding which white point to calibrate a given display to at the factory (e.g. iPhone is 6470K, S20 is 7020K in Vivid)[1][2] and if you're doing any sort of chromatic white point adaptation, like Apple's True Tone[1][2].<p>My background before joining the team was a degree in math, but I really enjoyed doing low level projects in my spare time, so ended up on an OS team. We also have colour scientists who study this full time and have a _significantly_ better understanding of it all than I do :)<p>[1]: <a href="https://www.displaymate.com/iPhone_13Pro_ShootOut_1M.htm#White_Point" rel="nofollow">https://www.displaymate.com/iPhone_13Pro_ShootOut_1M.htm#Whi...</a>
[2]: <a href="https://www.displaymate.com/Galaxy_S20_ShootOut_1U.htm#White_Point" rel="nofollow">https://www.displaymate.com/Galaxy_S20_ShootOut_1U.htm#White...</a>
[3]: <a href="https://support.apple.com/en-gb/HT208909" rel="nofollow">https://support.apple.com/en-gb/HT208909</a>
[4]: <a href="http://yuhaozhu.com/blog/chromatic-adaptation.html" rel="nofollow">http://yuhaozhu.com/blog/chromatic-adaptation.html</a></p>
]]></description><pubDate>Mon, 17 Jan 2022 16:59:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=29968608</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=29968608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29968608</guid></item><item><title><![CDATA[Google Tensor SoC debuts on the new Pixel 6 this fall]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.google/products/pixel/google-tensor-debuts-new-pixel-6-fall/">https://blog.google/products/pixel/google-tensor-debuts-new-pixel-6-fall/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=28038807">https://news.ycombinator.com/item?id=28038807</a></p>
<p>Points: 120</p>
<p># Comments: 104</p>
]]></description><pubDate>Mon, 02 Aug 2021 16:28:23 +0000</pubDate><link>https://blog.google/products/pixel/google-tensor-debuts-new-pixel-6-fall/</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=28038807</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28038807</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Life of a Netflix Partner Engineer – The case of the extra 40 ms"]]></title><description><![CDATA[
<p>> It seems somewhat silly on a non-realtime OS to grab one frame, request a 15ms wait, and then grab another frame, when your deadline is 16.6ms<p>A couple reasons this isn't as silly as it seems<p>1) ~All buffers in Android are pipelined, usually with a queue depth of 2 or 3 depending on overall application performance. This means that missing a deadline is recoverable as long as it doesn't happen multiple times in a row. I'd also note that since Netflix probably only cares about synchronization and not latency during video play back they could have a buffer depth of nearly anything they wanted, but I don't think that's a knob Android exposes to applications.<p>2)  The deadline is probably not the end of the current frame but rather than end of the next frame (i.e. ~18ms away) or further. The application can specify this with the presentation time EGL extension[1] that's required to be present on all Android devices.<p>[1]: <a href="https://www.khronos.org/registry/EGL/extensions/ANDROID/EGL_ANDROID_presentation_time.txt" rel="nofollow">https://www.khronos.org/registry/EGL/extensions/ANDROID/EGL_...</a></p>
]]></description><pubDate>Thu, 21 Jan 2021 13:52:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=25858738</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=25858738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25858738</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Is there still somebody in the Cairo community who is able to make a release?"]]></title><description><![CDATA[
<p>Skia has been around for 15 years (open source for 12) and is used in a number of high priority projects for Google (e.g. Android, Chrome). It's incredibly unlikely it will be killed any time soon.</p>
]]></description><pubDate>Fri, 13 Nov 2020 01:00:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=25077530</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=25077530</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25077530</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Is Dark Mode Such a Good Idea?"]]></title><description><![CDATA[
<p>> At a meta-level, I'm surprised that something with so factual (and testable) an answer can still not be settled.<p>It is absolutely settled, and has been tested over and over again. Power is roughly proportional to the amount of light emitted[1], so having dark grey is absolutely a power savings over pure white.<p>Google slides: <a href="https://www.theverge.com/2018/11/8/18076502/google-dark-mode-android-battery-life" rel="nofollow">https://www.theverge.com/2018/11/8/18076502/google-dark-mode...</a>
Display energy modeling: <a href="https://onlinelibrary.wiley.com/doi/am-pdf/10.1002/stvr.1635" rel="nofollow">https://onlinelibrary.wiley.com/doi/am-pdf/10.1002/stvr.1635</a><p>[1]: This isn't totally true mostly because the display is broken into RGB elements emitting light of differing efficiencies and human perception of the brightness of those elements is not identical.</p>
]]></description><pubDate>Fri, 12 Jun 2020 12:00:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=23498341</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=23498341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23498341</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Google bans my events app for referencing Covid-19, or related terms"]]></title><description><![CDATA[
<p>It's "Don't be evil" and it's still in the code of conduct:<p><pre><code>  And remember… don’t be evil, and if you see something that you think isn’t right – speak up!
</code></pre>
- <a href="https://abc.xyz/investor/other/google-code-of-conduct/" rel="nofollow">https://abc.xyz/investor/other/google-code-of-conduct/</a></p>
]]></description><pubDate>Mon, 18 May 2020 18:49:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=23226783</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=23226783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23226783</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "An Android 8.0-9.0 Bluetooth Zero-Click RCE"]]></title><description><![CDATA[
<p>Some of these exist:<p>> learn how to build Android from sources<p><a href="https://source.android.com/setup/start" rel="nofollow">https://source.android.com/setup/start</a> has instructions.<p>> put some binary drivers from official image<p><a href="https://source.android.com/setup/build/gsi" rel="nofollow">https://source.android.com/setup/build/gsi</a> is a set of builds you can flash on any sufficiently modern Android device alongside their binary drivers.<p>> May be even some guides how to reverse engineer proprietary drivers and rewrite them as open source.<p>You're on your own for this, but given the kernel and HAL APIs are both open source you could theoretically figure out how to build a viable implementation, but no matter how you go about it, building something like a GPU driver is a substantial task. You could probably build things like the lights HAL without too much difficulty though.</p>
]]></description><pubDate>Sat, 25 Apr 2020 00:43:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=22974529</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=22974529</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22974529</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "CPU Clocks and Clock Interrupts, and Their Effects on Schedulers (2015)"]]></title><description><![CDATA[
<p>While the kernel theoretically has the ability to preempt you, it's not supposed to when using a realtime priority thread. Per the RH realtime guide[[1]:<p>"""
SCHED_FIFO and SCHED_RR threads will run until one of the following events occurs:<p>- The thread goes to sleep or begins waiting for an event<p>- A higher-priority realtime thread becomes ready to run<p>If one of these events does not occur, the threads will run indefinitely on that processor, and lower-priority threads will not be given a chance to run. This can result in system service threads failing to run, and operations such as memory swapping and filesystem data flushing not occurring as expected.
"""<p>SCHED_DEADLINE, which is newer and not mentioned in the guide, can provide a bit stronger guarantees because it can fail if it thinks the requirements you set aren't actually obtainable based on other system load (including high priority kernel tasks that might need to run, etc).<p>[1]: <a href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_MRG/1.3/html-single/Realtime_Reference_Guide/index.html#chap-Realtime_Reference_Guide-Priorities_and_policies" rel="nofollow">https://access.redhat.com/documentation/en-US/Red_Hat_Enterp...</a></p>
]]></description><pubDate>Wed, 13 Feb 2019 10:05:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=19151851</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=19151851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19151851</guid></item><item><title><![CDATA[Is It Time to Rewrite the Operating System in Rust?]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.infoq.com/presentations/os-rust">https://www.infoq.com/presentations/os-rust</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=18943991">https://news.ycombinator.com/item?id=18943991</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 18 Jan 2019 23:07:25 +0000</pubDate><link>https://www.infoq.com/presentations/os-rust</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=18943991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18943991</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Where in the World Is Larry Page?"]]></title><description><![CDATA[
<p>It was always "don't be evil" [1]<p>[1]: <a href="https://en.wikipedia.org/wiki/Don%27t_be_evil" rel="nofollow">https://en.wikipedia.org/wiki/Don%27t_be_evil</a></p>
]]></description><pubDate>Thu, 13 Sep 2018 14:10:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=17978721</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=17978721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17978721</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Introducing Android 9 Pie"]]></title><description><![CDATA[
<p>Note that 'their "service"' includes the Play Store, which is a not insignificant revenue generator for Google.</p>
]]></description><pubDate>Tue, 07 Aug 2018 17:09:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=17708456</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=17708456</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17708456</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Skia: an open source 2D graphics library"]]></title><description><![CDATA[
<p>Skia does not have a stable ABI, which is a requirement for inclusion in the NDK: <a href="https://github.com/google/skia/blob/master/experimental/c-api-example/c.md" rel="nofollow">https://github.com/google/skia/blob/master/experimental/c-ap...</a></p>
]]></description><pubDate>Mon, 15 Jan 2018 12:43:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=16150132</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=16150132</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16150132</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "Apple faces lawsuits after admitting it slows down aging iPhones"]]></title><description><![CDATA[
<p>If the battery does degrade to the point of needing to be replaced, there is a message in the battery settings page: <a href="http://media.idownloadblog.com/wp-content/uploads/2017/12/iPhone-battery-servicing-warning.jpg" rel="nofollow">http://media.idownloadblog.com/wp-content/uploads/2017/12/iP...</a></p>
]]></description><pubDate>Thu, 28 Dec 2017 12:55:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=16021746</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=16021746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16021746</guid></item><item><title><![CDATA[New comment by mdwrigh2 in "YouTube Demonetization Screenshot Leaks and Secret YouTube Meeting"]]></title><description><![CDATA[
<p>> "Google/Alphabet doesnt have to pay them for the content now."<p>When a video is demonetized, only a small subset of advertisers or no advertisers can be shown on that video. If no ads are being shown then neither Google nor the creator are making money (and Google is spending money to host and serve the content), so really this is a lose/lose for both of them.</p>
]]></description><pubDate>Tue, 12 Dec 2017 12:42:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=15905172</link><dc:creator>mdwrigh2</dc:creator><comments>https://news.ycombinator.com/item?id=15905172</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15905172</guid></item></channel></rss>