HNHacker News
TopNewBestAskShowJobs

DrPizza

153 karma · joined April 17, 2009

[ my public key: https://keybase.io/drpizza; my proof: https://keybase.io/drpizza/sigs/ZltcRRHUkSLHOaacxEnc9cZFwtKMoVPmIkcq2wzHnm4 ]
submissionscomments
DrPizza··on Looking Forward: Support for Secure Shell
> Trust me I have a friend who loves breaking into my personal server.

Sterling work establishing your own competence there.

DrPizza··on Strengthening JavaScript
> it really is not clear that even Google can force Dart down others' throats

It's peculiar that Google claims that it is utterly impotent to persuade developers to use Pointer Events, and so it is going to give up even trying, and yet it continues to develop Dart and make vague noises about integrating it into the browser.

DrPizza··on How Microsoft dragged its development practices into the 21st century
External requests might have motivated the initial foray into supporting agile processes, but it's internal users that make it worth a damn, IMO.

My view is that you can't develop effective general purpose application software without an internal customer, because until you have that internal customer, you can't meaningfully dogfood it, and you can't get the feedback loop tight enough.

Take, for example, WPF. WPF addressed a real need, I think; developers wanted a decent GUI stack (which Win32/WinForms/MFC/whatever just ain't), and long term, Microsoft wanted something amenable to 3D acceleration and DPI increases. Great.

Except that for the longest time, WPF was deeply problematic for any major application. Problems around text handling and performance were the biggies. Microsoft had no real internal customer for WPF. Some of the Blend apps used it, but they (now discontinued) were never a critical part of Microsoft's day-to-day operation.

When did WPF get good? When an important application (Visual Studio 2010) started using it, and made clear that hey, something needs to be done about that text rendering and performance.

I think there are quite a few little corners of Microsoft's software in a similar boat. The new-to-Vista sound card/audio APIs were plainly not fit for purpose in their original form, but nobody in Microsoft noticed, because nobody in Microsoft was actually using them. Late in the development cycle the APIs were updated (adding notifications when a buffer was nearly empty) to make them usable, but it created a troublesome driver situation for a year or more post-release.

With the internal customer, the feedback becomes much more immediate. Microsoft's customers don't get to see every 3 week cycle. Internal customers do.

When the developers are using the very product they're developing, this becomes better still; there's an implicit understanding of what the thing should do, and how it needs to be better. This becomes institutional knowledge, and it likely never even manifests as an explicit request. It doesn't have to. The implicit understanding of how customers are using the software and not just what they want but _why_ they want it is sufficient to ensure proper and effective implementation of their requests.

DrPizza··on How Microsoft dragged its development practices into the 21st century
[author here]

You know, I should have written about that a bit more. It makes sense in retrospect, I didn't even think about it at the time, even after leading off with the problems of the VS2010 cycle.

But, yes. If one looks at how VS and TFS have evolved, it's been very clear that there must have been some internal customer who really wanted to use them for scrum (no external customer would ever be that influential). The last few releases, not to mention the VS2012/2013 quarterly(ish) updates have all had an emphasis on improving this aspect of the products.

Accordingly, they seem to have become pretty decent, and this has no doubt helped teams change how they work.

DrPizza··on Neither Microsoft, Nokia, nor anyone else should fork Android. It’s unforkable.
But it would have lousy app compatibility... so what advantage would it offer over Windows Phone?
DrPizza··on Neither Microsoft, Nokia, nor anyone else should fork Android. It’s unforkable.
I thought Gonk took bits from Android, but was not a direct copy of the kernel.
DrPizza··on Why Microsoft needs three or more operating systems
I think you miss my point about Intel phones. Intel is threatening to have processors that will be somewhere between "credible" and "best in class" for smartphones. It's not guaranteed at this stage, but it's absolutely within the realm of possibility. Should this happen, it's absolutely something that Microsoft will need to support, especially since Android already runs on such phones.

Windows Phone 8 was intended, first and foremost, to bring the kernels into alignment. It did this. It is a shame that it does not provide the full WinRT API, but Microsoft never said that it would, so I'm not sure why you're saying that it was "supposed" to.

DrPizza··on Chrome's insane password security strategy
1) Chrome doesn't show "all passwords". It only shows passwords that Chrome knows about. The two categories might overlap, but they're not actually the same.

2) Either the browser demands an unlock password every single time it queries the password store--which is probably not an acceptable experience for most users--or the browser can arbitrarily read the password store when left unattended. There's no meaningful middle ground here. An option to demand a credential before unlocking the store might be nice for nerds, but nerds don't need it anyway, because they can use 1Password (or similar) to do this for them. It's simply not tenable for normals. Good grief, just look at the wailing and moaning that the UAC prompts in Windows Vista generated. Those prompts by default didn't even demand credentials, just a click through.

DrPizza··on Mozilla can produce near-native performance on the Web
Yes, sorry, I meant SSE intrinsics. As I think I note later in the article, the compiler I used emitted scalar SSE2 for floating point.
DrPizza··on Does WebKit face a troubled future now that Google is gone?
> Back to the article. WebKit won't allow hooking in random JS engines. Allowing this slows things down because many DOM access optimizations can be achieved by assuming a specific engine. This is totally reasonable thing.

I agree, it's totally reasonable, which why I say in the article, "Removing the JavaScript layer is one thing; this was a piece of code that existed only to support Google's use of V8, and with JavaScriptCore now the sole WebKit engine, streamlining the code makes sense. Google, after all, is doing the same thing in Blink. "

It may make things harder for some out-of-tree branches, so it's probably bad news for them, which is why it also suggests that, depending on their priorities, some forks might find it better to switch to Blink.

> Apple is talking about removing a feature that no one is stepping up to maintain.

Apple is also the richest technology company in the world. I would never pretend that this means that it can simply add new WebKit developers overnight. But equally, I have a hard time accepting that there will apparently be a _long-term_ developer deficit, such that the best option is to simply cull features now, rather than retain them for a couple of months while staffing is being increased.

It's possible that features culled now will be restorable from version history in the future, but that rather depends on how many changes are made in the interim. If they're significant (integrating JSC more completely, ripping out things that Google added such as threaded HTML) then it's not clear that reinstating them from old versions will be trivial.

I acknowledge that Google had an advantage here. By making the decision to fork, Google was in a position to make sure that it had the right people in the right places to maintain the codebase. Opera's involvement in Blink is probably helpful in this regard too. But come on. If Google can maintain this range of standards track features, is it really reasonable that Apple can't at least match it?

DrPizza··on A Day in the Life of a Freelance Journalist
The only reason that people are willing to do it for free is because they believe the "exposure" myth and think that it will lead to paid work.

What they don't realize is that in aggregate, their willingness to do it for free jeopardizes their ability to do it for money in the future. It's a nice little game theory problem. A single defector from the "only work for money" strategy probably benefits; the rookie journalist gets his foot in the door, gets the "exposure" and the industry connections, and so yields an advantage over his peers.

But once all his peers defect from the paid strategy, the whole thing comes crashing down. None of them achieve any advantage over any other. They just drive the median compensation down towards zero.

The claim that there's an abundance of high quality journalism is hogwash. There isn't. There's a glut of no-talent regurgitators. Most of them have poor knowledge of the subject matter, don't bother checking facts, don't do any original research, and generally offer little of value.

DrPizza··on Office 2013: Just what on earth has the Office team been doing?
The RTM update to Office on Windows RT was delivered the week before Windows RT went on sale.
DrPizza··on Shame on me for voting for a retroactive tax in Prop 30
It is. The poster is just parroting moronic right-wing talking points.
DrPizza··on Shame on me for voting for a retroactive tax in Prop 30
Good grief.

First, marginal tax rates are taxed on marginal income, not gross income. The $250K bracket only kicks in for dollars earned over $250K.

Second... there are, in fact, points on the income ladder with a marginal rate that is greater than 100%. But they're not a problem for the rich. They're a problem for the poor. At certain points, the removal of things like food stamps and tax credits can result in a marginal tax rate of greater than 100%, which is to say, you are literally better off making less gross income, because you will have more spending power.

DrPizza··on Windows 8 apps hackable and crackable, just like iOS and Android
I've now removed that update, as further experimentation shows that it does work after all.
DrPizza··on Turning to the past to power Windows' future: An in-depth look at WinRT
My intended audience is, I guess, anyone who's ever taken something apart in a bid to figure out how it works. The ability to put the thing back together again such that the thing continues to work is strictly optional.

I hope it's deep enough that programmers who haven't been tracking Microsoft's efforts religiously will find it educational, but not so deep that someone who's merely interested in what makes the operating system tick is scared off.

DrPizza··on Hacked: commit to rails master on GitHub
Every C programmer has the tools they need to not create buffer overflows _and yet buffer overflows are abundant_.

Saying "we'll provide the tools and insist that developers use them safely and securely" is a bullshit answer, and always has been.

You're either secure by default, or not at all. In this case, not at all.

DrPizza··on Microsoft keeps it old-school with a pricey text adventure game
Although maybe he was right: http://www.reddit.com/r/gaming/comments/oorgn/microsoft_keep...
DrPizza··on Microsoft keeps it old-school with a pricey text adventure game
Re: the last paragraph:

Sadly I lost that battle. I didn't want to include it, but sometimes we writers do not get to make those decisions.

DrPizza··on AMD's Bulldozer server benchmarks are here, and they're a catastrophe
What is there that is "interesting" about the platform?

Power consumption was mentioned at a number of points in the article. It's just there's not a whole lot to say about it--it's not exactly a strength of the architecture.

DrPizza··on AMD's Bulldozer server benchmarks are here, and they're a catastrophe
I don't think most server systems are doing much in the way of MP3 or H.264 encoding.

Rendering is more or less equivalent to HPC. Different markets, but similar problem sets (lots of computation, minimal communication or dependencies between threads).

None of those are particularly relevant to typical server workloads; servers are doing things like querying databases, spitting out Web pages, running Java VMs, running virtualization software, that kind of thing.

DrPizza··on AMD's Bulldozer server benchmarks are here, and they're a catastrophe
The Phoronix benchmarks, like most others, suggest that the only area where Bulldozer appears at all competent is HPC. To describe this as niche is an understatement.

a) I agree it remains unclear how much difference the SSD makes. That's why I don't think it's a useful demonstration of Bulldozer's performance _even though AMD is citing it as such_. b) Yes, I do. That 1/3 more cores gives 1/3 more performance in a test that scales almost perfectly means that the per-core performance has stood still. A 32 nm K10.5 chip with 1/3 more cores would perform just as well, cost less to build, use less power, and eliminate the performance regressions. So what is the point of Bulldozer? c) No, it reinforces the "Bulldozer performs no better than a scaled up K10.5 system would and hence is pointless" narrative. d) @_@ e) No. I don't have a half million dollars of equipment just lying around so that I can run TPC-C (etc.) myself.

DrPizza··on AMD's Bulldozer server benchmarks are here, and they're a catastrophe
Yes.
DrPizza··on AMD's Bulldozer server benchmarks are here, and they're a catastrophe
My understanding is that it can give every cycle to a given thread just as long as the other thread doesn't need it to decode anything (if it's idle or whatever). i.e. it can give one thread 4 ops/cycle sustained, given the right workload. But for your purposes, that's probably not any improvement.
DrPizza··on AMD's Bulldozer server benchmarks are here, and they're a catastrophe
> This article is impressively bad.

Cheers!

> While the 8-module chip does share a few things (mainly a vector processing unit, that becomes two when doing the 128-bit SSE operations)

A few things? No, it shares a lot of things. The entire floating point and SIMD unit. The entire front-end. The branch predictor is, I believe, a weird hybrid of shared and non-shared. The I-cache, and the L2 cache, also both shared.

The front-end is particularly troublesome. The entire decoder can either service one thread or the other. If both threads need instructions, the best it can do is round robin between them. This averages to allow just two instructions per cycle: less decode bandwidth than K10.

Likewise the integer units: there are fewer ALUs and AGUs per thread than in K10. Likewise the floating point unit. There's lots of sharing, and even the private, non-shared parts are resource-starved.

> But, they'll have sse contention if they schedule more than 8 256-bit vector operations (sadly intel won't bring this instruction set to market for a bit).

SSE contention will occur if a thread can issue more than two SSE operations per cycle, or one AVX operation per cycle.

> Bulldozer is pretty cool, but sadly the tech press decides to shit on the underdog in a market that multiple companies have successfully sued the monopolist for anti-competitive behavior. :(

I don't care about "the underdog" or which is "cool" or which multi-billion dollar corporation you might prefer. I care about which works better. It ain't Bulldozer.

DrPizza··on Ultrabook: Intel's $300 million plan to beat Apple at its own game
That's what I do on my MacBook Pro. It was much more palatable than discarding years of typing experience.

I don't dispute that it works. But it does rather detract from, well, the aesthetic elegance of the machine. Apple has these fancy backlit keyboards--it's a great shame to make the keycaps wrong.

Plus, it also causes big problems when I let others use my machine. Hunt-and-peckers don't stand a chance when your keys are mismatched. Though they probably struggle even with the regular Apple layout--good luck finding # on the keyboard, since Apple doesn't deign to print it. Sure, once you know it's option-3 it's not so bad, but I don't know how you're meant to just figure that out for yourself.

And the thing is, it's all just gratuitous. Apple's layout isn't in any meaningful sense better. It's just... different.

DrPizza··on Firefox update policy: the enterprise is wrong, not Mozilla
On the other hand, bad virus updates have a habit of purging critical system files, leaving machines unbootable. They have the power to be extraordinarily destructive; good luck getting a browser to do that.
DrPizza··on The 5 Ps: Achieving Focus in Any Endeavor
I like the parts where he related the 5Ps directly to WP7's development, the context is useful and interesting.

It also explains, I think, why WP7 is such an un-Microsoft product in so many ways, and why I love using it. It's focused in a way that other products from the company just _aren't_, and it's much better for it.

← PreviousPage 2 of 2