HNHacker News
TopNewBestAskShowJobs

BlackAura

203 karma · joined December 21, 2011

submissionscomments
BlackAura··on You can’t fix diversity in tech without fixing the technical interview
It's part of the problem, but not all of the problem.

There are plenty of women who want to be in STEM fields, and have pushed for that in spite of everything. It's hard to actually get into a STEM job as a woman, regardless of education or experience, because of various biases in hiring. Once in, there are so many ways that the workplace is hostile to women, and the industry even more so. That leads to a high rate of just giving up, and changing career. There's only so much bullshit you can take before just deciding that, even though you love the work, it just isn't worth your sanity.

Working in a technical role in a non-tech company is often orders of magnitude better. Just like it is in many other respects, because tech companies are just horrifically broken in so many ways.

BlackAura··on You can’t fix diversity in tech without fixing the technical interview
> Let's see if there's any intellectual honesty here

Have you tried looking, before just assuming that such things don't already exist?

I mean, a simple Google search will find plenty of industry groups, in multiple countries, dedicated to supporting women in all of those industries. They encourage women to pursue careers in those industries, do advocacy and education, and work with the industry to try to fix the problems that cause the lack of women in those industries. This is true for pretty much every industry that was traditionally male-dominated.

Same goes for men in traditionally female-dominated industries.

None of these efforts are as high profile as business or tech. Doesn't mean they don't exist.

BlackAura··on Ask HN: Which open source projects have kind, supportive, talented teams?
Yeah, you're in the wrong.

The problem is that you believe that your opinion is the politically neutral one, and it isn't. It's just that the Rust community aren't a bunch of libertarians, which stands out considering how much of the tech community are, and how wildly that skews their perspective.

From a point of view outside of the tech industry, the Rust community don't do anything remotely unusual. Even much of the tech industry, outside of the SV reality distortion field, do much the same thing. They just try to keep garbage from the outside world from infesting the community and interfering with the work. Everyone else does that - it's really the only way to get anything done, short of having a totally homogeneous work environment.

Of course, a lot of you guys would prefer a totally homogeneous community. If Mozilla or the Rust community put you off... no big deal. It's not like there aren't plenty of others around who are quite happy to work with the Rust community because of their policies.

> But beware if you happen to hold a differing opinion!

If you hold a "differing opinion", and choose to take that into the Rust community with you... what do you expect? Keep your rubbish to yourself, and there won't be a problem.

BlackAura··on To defend the free web, save Mozilla
Agreed. They annoy all the types of people that I'd much rather not work with, and I honestly believe that Mozilla is better off without them. I don't care how irreplaceable they think they are. Nobody's irreplaceable, and there is plenty of talent and skill out there that isn't associated with such noxious people.

Mozilla's hardly alone here. Plenty of other open source communities are like that. It's just they get the most flak, for some reason.

BlackAura··on SXSW Cancels Gamer Panels After Threats
No problem. Those excerpts were basically designed to be misleading, for the purpose of pushing an agenda (the "GG totally doesn't harass women, you [insert gendered insult towards women here]" angle).

The basic tactic is to try to sound reasonable, to mask the seething rage and hostility that lies beneath.

BlackAura··on SXSW Cancels Gamer Panels After Threats
#3 is... a bunch of paranoid conspiracy theory bullshit.

Let's have a look at the first entry. I'll probably get bored after a few of these, but... whatever.

Charge 1 - Leigh Alexander stands accused of writing an article that GG disagree with, and that many of them inexplicably interpreted as some kind of threat, or something. I don't know. The article was basically about how video games have become mainstream, the concept of a "gamer" demographic is largely meaningless, and developers and publishers need not, and should not, solely target everything at this narrow demographic.

Charge 2 - She is accused of talking to her colleagues, possibly at other publications. She may have engaged in such crimes as discussing her work with others, and building a network of contacts. Y'know... journalism. Because apparently all journalism must be done in a vacuum.

Charge 3 - She is accused to also doing other work, and talking about that other work on her personal social media accounts. Even though there's no evidence that she's done anything wrong as a journalist, she totally could have if she wanted to, and therefore can't be trusted, or something?

At this point, I'm just bored. Most of the rest of the list is basically that Leigh is accused of having professional relationships with people in the games industry. Y'know, like every other games journalist - this whole professional networking thing is kind of how journalists get access to things. Same's true for journalists covering any other entertainment industry. Or politics. Or business. Or...

I mean, repeatedly accusing a journalist of doing her job just seems utterly ridiculous.

What else... There's an accusation of lying, which is included even though the accusation itself says that it was probably misinterpreted. A whole bunch of Twitter B.S. that nobody cares about. Some paranoid ramblings, and a whole bunch of other inconsequential crap that nobody cares about...

So... That's the smoking gun? Really?

> Even though most #GamerGate accounts were proven not to be harassers

Wrong. There was no "proven" anywhere - just that there was a lot of harassment on Twitter that wasn't associated with GG, and a wider study only picked up a small number of GG-associated accounts. Which is something entirely different, despite what GG like to pretend.

BlackAura··on SXSW Cancels Gamer Panels After Threats
Probably assuming that the people she's reacting to are imaginary, because he doesn't believe it could possibly be that bad.
BlackAura··on SXSW Cancels Gamer Panels After Threats
Umm... That report does not say what you think it says.

Whoever did that excerpt was either utterly useless at statistics (and reading comprehension), or was trying to twist the results to try to prove a point.

The report was about harassment on Twitter in general, not GG. They were trying to get a very broad sample from all over Twitter, covering any abuse or harassment that was reported to them.

Since the whole GG mess was ongoing at the time of the research, the researchers decided to use the ggautoblocker list to see how much overlap their was between their sample, and people connected to GG, to find out how much it affected their results.

The result is that there was a fair bit of overlap - about 12% of the people in their sample were also on the ggautoblocker list. Most of the harassment they found was not related to GG.

Their finding: "Reports to WAM! constitute a much wider range of harassment than the GamerGate controversy alone".

That's not what the excerpt you posted claims at all. It interprets that as "only 65 out of 9,844 accounts on the ggautoblocker list engaged in harassment". Which is bunk - the study found nothing at all about the remaining 9,779 accounts on that list. Only that those 65 accounts were in both sample sets.

Here's another way to look at it. The 65 harassers who were also on the ggautoblocker list were responsible for 12% of the harassment on Twitter that these researchers found. So they obviously only noticed 0.6% of GamerGate. Therefore, if they'd found all of the GG-associated harassment and abuse, they'd end up with about with 18 times more harassment reports, of which 95% would have been associated with GamerGate.

That analysis is also complete garbage, but it's just as sound as the analysis in that excerpt you posted, and based on exactly the same faulty reasoning.

Many of the accounts on the ggautoblocker list are either bots, or duplicate accounts created specifically for the purpose of harassing people and discarded when they are no longer useful.

BlackAura··on I'm a liberal professor, and my liberal students terrify me
I'm not blinded by my own perspective. I actually happen to listen to people, hear their opinions, and want to try to understand them. I don't tell people that their opinions or point of view are wrong, and shouldn't be listened to, just because they disagree with my own.

> inside a liberal's mind

Use of "liberal" as a snarl word. Awesome way to start a conversation - just go straight for a veiled insult. Nice.

> Weasel words are present and everything.

You're being condescending. This is literally the first thing you've said that could be said to be an argument, rather than an insult, and you've already resorted to trying to trivialize and ignore what I've said, rather than attempting to engage in it.

Rather than claiming that I'm using "weasel words", how about actually engaging in discussion, rather than just dismissing things that you don't agree with?

> The young liberal-speak of concepts of 'systemic bias' and 'societal pandering' and of course the students as victims who 'have no choice' but to complain

I'm probably a lot older than you would assume, and seriously, "liberal" is not an insult, even though you keep trying to use it as one. And how would that invalidate anything?

Frankly, you're being hopelessly naive if you don't think those things exist. Systemic bias is a thing. It also happens to be a thing that's incredibly difficult for straight white men to actually see, because it (mostly) only benefits them. They certainly can't see all the ways it disadvantages others, and are very often unsympathetic. Unless, of course, they actually take the time to listen to others, and attempt to understand their point of view.

So, what do you expect students to do if their professor just ignores all their concerns, and acts like their opinions are worthless just because he disagrees with them? That attitude is obvious in the article. How else do you expect them to actually be heard?

> The only systemic bias you'll find across a whole campus

Is a reflection of wider culture. Which is wildly discriminatory in many different ways, including race, sex, gender, sexual orientation, country of origin, political or social status, class (even if that's invisible), religion, and a whole load more.

> Nothing that can be checked up on specifically, no particular victim or perpetrator. Just a thing that we're supposed to believe is ever present, rampant etc.

Did you read the same article as I did? This professor had nothing that can be checked up on, no victim, no perpetrator, no specific events... Just a thing that we're supposed to believe is ever present, rampant etc.

Do you seriously expect me to come up with more specific detail about something that happened to someone else, on the other side of the planet? Or even to put that much effort into an comment on some random website? The author of this article didn't. You sure didn't. Why should you be holding me to a more strict standard, unless it's just because you happen to disagree with me.

I will concede - I have not given specific cases. Fine. Neither have you, and you make a lot more allegations than I did.

> You've got the SJW bug for sure. You need a dose of realism.

Labeling someone is not an argument. Insulting someone is not an argument. Being dismissive is not an argument.

> making wild assumptions about somebody else's frame of mind

Implied in the original article. OK, I might have been reaching.

I've seen versions of this article from various college professors recently. They're all pretty much the same, and some of those were a lot more specific.

I can come up with a more specific example - a professor complaining that students wanted to be warned that a piece of literature contained a rape scene. Said professor's excuse was "it doesn't bother me, so it shouldn't bother you".

Here's what he was failing to understand - the students in question had actually been raped. Surprising them with a rape scene is an extremely shitty thing to do, and in cases where rape survivors developed PTSD (which happens a lot), that can seriously screw them up.

What the students wanted was to have been warned in advance. If they had been warned, they could have worked out for themselves whether they were up to dealing what that, and either mentally prepared themselves, or opted out by leaving the class.

The professor interpreted that as "we don't want you to talk about rape ever", and "we're scared little children that need coddling". Then wrote an article very similar to this one.

This isn't suppression of free speech. It's asking people, particularly those with power over others, to avoid being assholes for no reason, and to be considerate of other people. Not exactly difficult.

> Add on to that getting mad that others aren't on your side.

No? Kind of irritated that I'm spending part of my afternoon dealing with this shit, rather than actually having a productive discussion about something.

> The reason society might be considering a lot of SJWs as scary is that they are young impressionable and have a lot of ignorant followers on twitter and will do anything and everything to weasel through a situation because their form of social justice must prevail.

Sigh...

How about a different perspective?

Most people find this stuff scary because it challenges their existing ideas and beliefs. In particular, it challenges people's belief that the world is actually fair and just. Which is isn't.

> that includes, as we've seen in St. Louis and Baltimore, justifying illegal behavior for so-called systemic racism.

"So-called"?

Y'know what? Not even touching that one. If you honestly believe that, there's absolutely no hope of reaching you, and you're clearly unwilling to listen to anyone else's perspective.

> Like here you insist it's not being attacked but it is.

Rubbish.

Minority groups do not have freedom of speech. Majority groups do, and they are using that freedom of speech to suppress the voices of minorities.

What's being "attacked" is the presumed "right" for the majority to have it's opinion heard to the exclusion of all others. Which is exactly what you're advocating for.

BlackAura··on I'm a liberal professor, and my liberal students terrify me
I suspect that would be a post-hoc rationalization. One of the ways we fool ourselves into believing that we're being rational, when we really aren't.

Men are more likely to pipe up with ideas - good or bad - because they are culturally encouraged to do so. Women are discouraged from sharing their ideas, and are frequently either ignored, or possibly even punished for it.

In addition, people tend to interpret the same behavior differently between men and women. For example, I saw a debate recently with a few men and one woman. After the debate, people (both men and women) were complaining about the woman, claiming the kept interrupting, and that she was rude, and wasn't listening.

Funny thing - she interrupted once, out of sheer desperation because her opponent wouldn't allow her to speak, was polite, and listened to everything her opponent had to say. Her opponent, on the other hand, had been praised for being more mature and rational, despite constantly interrupting, talking over the top of his opponent, and being extremely condescending.

These kinds of biases actually color our perceptions, without us realizing.

That's what's insidious about these kinds of rationalzations. They superficially seem reasonable, but they pretty much just reduce to either "men are just better than women at X", or "that's just the way things are, deal with it", and they do not hold up to scrutiny. However, they are intuitively rational-feeling enough to convince people that there's not a problem anymore. There is, but they just don't want to confront it.

BlackAura··on I'm a liberal professor, and my liberal students terrify me
> not having the necessary information to make those biases could result in ideas actually being judged in a vacuum

Potentially, yes. It certainly can happen, but it can also go horribly wrong for a whole variety of reasons.

In online discussions, people's ideas tend to be judged based on how well the person proposing them conforms to the norms of the group. Which is part of the reason most online communities tend to develop a kind of hive mind - everyone who sticks around shares the same opinions as the group, because the group chases off anyone who dissents, either by making the environment unwelcoming, or outright harassing people.

It's part of the reason the hacker subculture isn't as egalitarian as it likes to believe. Even if everyone's anonymous (or at least using a pseudonym), it's still composed almost entirely of nerdy, reasonably well off straight white guys, mostly from the US. The reason for that is a reflection of external social forces which don't exactly exist inside hacker subculture, but strongly influenced who was able to participate in it. That creates an extremely homogenous group, which is reflected in the way hacker culture developed.

It's not deliberate, but it can feel like a hostile environment to outsiders. Which can make outsiders avoid it like the plague. Since there are no outsiders, members of the group never hear their perspective, nor do they ever realize that there's a problem, because they assume that they're being egalitarian.

That's not universal, and it's much less common in groups that have always been diverse from the very beginning. If you have a group with significant numbers of women, for example, they will tend to object (much more loudly than in real life) when someone says something sexist. The group culture that develops tends to be one that does not tolerate sexism.

In that kind of environment, you tend to be able to have discussions where everyone is listened to, and their ideas judged on merit, for precisely the reasons you suggest. It's all text based, and there's no stimuli to re-enforce your biases that you carried with you from the outside world.

However, that can only be done if you don't allow the group's culture to become a reflection of the outside world's culture. Which is what happens if you just ignore it.

BlackAura··on I'm a liberal professor, and my liberal students terrify me
And I should believe you, rather than the women to whom this happens all the time, because... why?
BlackAura··on I'm a liberal professor, and my liberal students terrify me
So the university being paranoid about being sued is the students' fault?

> being silenced

Nobody is being silenced by the students. What the students want is for professors to stop being assholes towards anyone that's not just like them, and are (correctly) pointing out various kinds of systemic bias, subjective opinions masquerading as objectivity, and instances where you have material that is disturbing or emotionally difficult for absolutely no good reason other than "it doesn't bother me, so it shouldn't bother you either".

When confronted with that, this professor's response is basically denial, writing off these complaints as irrelevant, trivial, or "pandering" (ignorant of how much society in general panders to his own perspective).

So, given that bringing this up directly will result in either being ignored, or being belittled or insulted, and the conversation shut down immediately... students don't actually have any choice but to complain.

At that point, the university overreacts because they're paranoid about being sued. Which is part of a larger cultural issue that has nothing at all to do with the students.

Funny that student activism that happened decades ago is considered a good thing (now), but activism by today's students is considered to be some kind of scary monster that threatens the whole of society...

BlackAura··on I'm a liberal professor, and my liberal students terrify me
The belief that ideas can be judged in a vacuum is a very different thing than ideas actually being judged in a vacuum.

Ideas are not judged in a vacuum - humans are rubbish at doing that. We allow various factors to influence how we evaluate ideas, even when those factors have nothing to do with the idea itself. Race and gender being very obvious ones.

Example: In a meeting, a woman comes up with an idea. Everyone ignores her. Thirty seconds later, a man says the exact same thing, and suddenly everyone is in awe about how amazing this idea is.

And yes, that does happen. A lot.

However, most of us believe that we aren't doing this. We believe that we're evaluating ideas on merit alone, and are therefore completely blind to the fact that we're not. Humans are rubbish at being objective, but very good at fooling ourselves into believing that we are.

The only way to approach evaluating ideas on merit is to be aware of one's own biases, one's own point of view, various power imbalances, systemic discrimination, and all that stuff. Once you're aware of what you're actually doing, you can try to factor that into how you evaluate ideas.

BlackAura··on “Safe Spaces” and the Mote in America's Eye
Nope. Completely opt-in.

Most of the people on these block lists are... I'm going to charitably describe them as "trolls". Generally, accounts are added for harassment, abusive or threatening behavior, outright hate speech, deliberately triggering someone's PTSD symptoms, encouraging specific suicidal people to commit suicide, and that kind of thing. Oh, and trying to evade a block, or encouraging others to harass someone.

On any even lightly moderated discussion forum, these users would have been banned. Most of this is actually against Twitter's TOS, and theoretically could be grounds for suspending an account, but Twitter doesn't really do anything about it. They know it happens, but haven't come up with any kind of workable solution yet.

Most of the users of the block lists are people who have been targetted by those same trolls, and who have chosen to just ignore them.

The people using the block lists tend to be women (especially feminists), various racial minorities, LGBT people (and related activists, especially transgender people), and various other marginalized groups. They are pretty much universally harassed for what they are, and for standing up for themselves against the standard pervasive sexism / racism / whatever.

BlackAura··on Why the sun is a poor dumping ground for nuclear waste (2010)
No, he's right

A bi-elliptic transfer is used for transferring between two orbits around the same body. In some situations, this is more efficient than a straightforward Hohmann transfer, at the cost of taking much, much longer.

For a Hohmann transfer, you reduce the ship's orbital velocity relative to the sun, reducing the orbit's perihelion to somewhere inside the sun. That requires cancelling out almost all of the Earth's orbital velocity.

For a bi-elliptic transfer, you first increase the ship's orbital velocity relative to the sun, increasing the orbit's aphelion to somewhere in the outer solar system. That's your first Hohmann transfer, going apparently the wrong direction, but requires less than 40% as much energy as dropping it into the sun did. Then, at aphelion, when the ship's orbital velocity is lowest, you reduce the ship's orbital velocity to drop it's perihelion inside the sun. From that far out, and at such an eccentric orbit, that requires only a fraction of the energy it did from Earth's orbit.

The entire manuever, potentially, could be far more efficient than a direct transfer. It just takes far longer, and if the ship fails to make the second maneuver, it'll be left in an orbit that crosses Earth's orbit.

BlackAura··on So what's wrong with 1975 programming? (2006)
Unwarranted hostility aside...

The fact that Varnish changed over the years neither invalidates this article, nor vindicates Squid's design.

On any remotely modern system (say, 2006 or later), Squid's design is absurd. The critique in this article is spot on. Squid basically pretends that the operating system's virtual memory system and disk cache simply don't exist, and spends it's time working against them. This does cause exactly the kind of problems detailed in the article.

Of course, that's because Squid is not Varnish. Squid was designed a long time ago, with maximum portability in mind, and intended to run on operating systems with very poor VM and disk cache systems. With that in mind, Squid's design makes sense. It just doesn't make sense on newer systems.

In Varnish, all of this work was delegated to the operating system. This works very well. It's certainly a lot simpler than Squid, in addition to being a lot faster.

As long as most of your hot data can fit in the disk cache, at least. The infrequently used parts, which could well be a lot larger than the frequently used parts, can be kicked out to disk by the OS, and although reading them back in incurs a performance penalty, it's not that bad. It only really affects less commonly accessed data, and doesn't interfere with everything else.

The original varnish design works great for that. It's less good if your entire working set fits in RAM (in which case, the slightly newer malloc-based system is faster because it has lower overhead, but becomes much slower if you really need to swap).

Varnish starts to fall down if your working set doesn't fit in RAM (in which case, you're doomed regardless), or if the total cache is really huge (think somewhere in the terabyte range).

The new storage engine mostly just re-organizes the existing mmap-based caches. It has better cache eviction algorithms, which give a much higher cache hit rate, and much lower internal fragmentation. That alone accounts for nearly all of the performance benefit.

The only I/O change I can find is that it uses the write syscall to write newly cached objects to the file directly, rather than writing to the mmap file. That allows them to replace the contents of those pages atomically - the OS will just drop them into the disk cache, rather than potentially having to re-read them from disk if they happen to not be in the cache.

All of the reading, memory management and I/O is still done by the VM and disk cache systems of the OS. That hasn't changed.

BlackAura··on A proposal for named arguments for C++
GCC didn't ignore the Windows C++ ABI. Windows doesn't have a platform C++ ABI.

Microsoft consider MSVC's C++ ABI as being internal to the compiler. They don't guarantee that the ABI won't change between major versions, only that it won't change between minor updates. Either way, it is not considered to be part of Windows, unlike the C ABI.

It's also not completely documented, so you'd have to reverse-engineer most of it if you wanted to be compatible.

It's the platform's de-facto C++ ABI, certainly, and in practice it's somewhat stable, but hardly reliable or useful for anyone other than Microsoft.

Other compilers and platforms used to have the same problem - each compiler had it's own ABI, and on platforms where one compiler was dominant, it basically became the de-facto standard, but there was no interoperability. That changed when pretty much every compiler (aside from MSVC) and OS (aside from Windows) adopted the Itanium C++ ABI, or a derivitive (like the ARM C++ ABI).

The C++ standards organization have a draft proposal to have platform standard ABIs, specified and documented by the platform holder. This really only affects Windows, and would require Microsoft to define a C++ ABI for Windows. That would most likely mean documenting the MSVC ABI, and calling that the standard C++ ABI.

Various Microsoft employees are pushing for it, so it might happen. The proposal was written by Herb Sutter, for example.

BlackAura··on Death by Inches: The battle over the metric system in America
Except...

Freezing point of water: 32°F Average human body temperature (oral): 98.2°F

So that's 66.2°F, not 64°F.

Those two temperatures were the original reference points for the Fahrenheit scale, and body temperature was defined as 96°.

The current definition is relative to the melting point of ice (32°F), and the boiling point of water at standard atmospheric pressure (212°F, which is exactly 180°F higher than the freezing point). Except now body temperature is 98.2°F instead of 96°.

If you want a thermometer calibrated in Fahrenheit, you have exactly the same problem as you do with Celsius. You just have to put 178 markings between the two reference points, rather than 98.

BlackAura··on Widespread sex differences in gene expression in the human brain (2013)
I don't think that's what phaer meant.

The concept of sexual orientation is a social construct. Unquestionably. It's an idea that's pretty much unique to our culture (modern western countries primarily). Other cultures throughout history had different concepts that were quite different.

The fact that different people experience sexual or romantic attraction differently, and that not everyone is simply attracted only to the opposite sex, is not a social construct. It's a fact.

So it can be both. Just like gender is both.

BlackAura··on Google launches Portable Native Client
The introduction of pepper.js is particularly interesting. It's a re-implementation of (some of?) the Pepper API on top of the standard web APIs, so you can write stuff for PNaCl but also compile it using enscripten for other browsers. Which means you could target both PNaCl and asm.js at the same time.

That also means it's effectively encouraging asm.js adoption, which might give Apple and Microsoft enough of a kick to optimize that. Google seem to already be planning on it (they added some asm.js tests to their Octane benchmark).

It also might be useful if, at some point, other browsers want to implement a PNaCl runtime. One of the main sticking points (aside from the use of LLVM bitcode, which is not something LLVM was designed for) was that it requires the Pepper API, which is huge, and duplicates much of the existing web APIs. Google have the spare engineers to do that, but Mozilla certainly doesn't.

A reverse of that would be useful too - an implementation of the standard web APIs on top of Pepper, so you could re-target an asm.js app to PNaCl. Or some kind of tooling that lets you transparently target both.

Maybe we'll see some kind of convergence thing going on? Wouldn't surprise me too much if they started evolving slightly towards one another. I think it's probable that asm.js will eventually get some kind of compact bytecode representation, especially if it can be implemented as a shim to allow it to load in existing browsers.

BlackAura··on [dead]
The word you're after is "agender". So, pretty close.

The answer is - whatever they tell you to. Some would prefer "they". Others wouldn't care if you use "him" or "her". Yet others prefer some invented pronoun (there's a long list).

The only one that's likely to be inappropriate is "it". Don't use that.

BlackAura··on WikiLeaks candidate quits upcoming Australian elections
Parties do indeed submit full rankings, which are published.

http://www.abc.net.au/news/federal-election-2013/guide/gtv/

Only the summaries get reported, for obvious reasons.

BlackAura··on WikiLeaks candidate quits upcoming Australian elections
> If I'm understanding this right, the Australians have the privilege of instant run-off preferential voting, and still prefer to just vote party line? Could an Aussie please explain this phenomenon to me?

We have two separate elections - one for the house of representatives, and one for the senate. In both cases, we do preferential voting.

For the house of representatives, you have maybe five or six parties running in your electorate, each with one candidate. Filling out preferences for this is feisable, and plenty of people do. It takes about ten seconds.

For the senate... not so much.

This year, the senate election in New South Wales has 110 candidates. You can either provide a single vote for one party (your preferences will be distributed according to whatever deals that part has made), or you can individually rank all 110 senate candidates. The ballot paper is a meter wide. Oh, and the desks you use are typically wide enough to fit an A4 sheet of paper.

Nobody bothers. It's just way too much hassle.

BlackAura··on Internet Explorer 11: “Don’t call me IE”
ASP.net used to do user agent sniffing extensively. It used it for feature detection, but also to serve different HTML and JavaScript to different browsers. I think it still does, actually, but I've not looked at it in a while.

Microsoft obviously thought that user agent sniffing was a great idea until pretty recently, because they use it a lot.

Use of user agent sniffing is built right into the framework, and also into Webforms (controls, server-side events, and the like). Often, completely different HTML and JavaScript is generated for different browsers (whether you want it to or not).

Worse still - things built on top of ASP.net used user agent sniffing even more. For example, ClickOnce required that the browser report which versions of the .net framework are installed, and the server does different things depending on that information. IE's user agent strings can get very long, reporting the browser version, OS version, CPU architecture, various service pack levels or revisions for different things, half a dozen versions of .Net, Infopath, Windows Media Center, Zune software, whether it's a TabletPC or not, RTC API, and a whole bunch of other fragments that I don't even recognize (SLCC?), and even occasionally advertising that the browser has some malware installed.

It's nearly impossible to switch this stuff off in ASP.net, and the browser database is often out of date. So new browsers or browser versions are often served broken pages (because the "unknown browser" fallback doesn't actually work). This happened when IE 10 was released, for example. Existing browsers are often detected incorrectly, and served a degraded version of the page (happened a lot to Firefox and Opera, back in the IE 6 / IE 7 era).

At least in ASP.net MVC you can ignore the browser detection most of the time. You can't really disable it in ASP.net itself.

BlackAura··on Your Feedback Matters – Update on Xbox One
While you might be right in part, Microsoft still shot themselves in the foot with this one.

Some parts of the original plan were actually a good idea, if you think of the Xbox One as being purely for digital downloads. It's very similar to Steam, but with a few differences. Better in some respects (shared library, which Valve are reportedly considering), worse in others (can't work offline).

The problem is that they were applying the exact same system to physical copies of a game. While their original plan was actually pretty good for digital distribution (it's a little more permissive than the Xbox 360), it's awful for physical copies. The physical copy is nothing more than a CD key and a backup so you don't have to download the game. It completely violates everyone's expectations of what a physical copy is, and what you can do with it.

Microsoft explained all this very poorly. Their message was basically "here's all the ways we're going to restrict Xbox One games, all the extra requirements to play Xbox One games, and all the things you used to be able to do that you can't anymore". The benefits were an afterthought, barely mentioned, and they waited until E3 to even do that.

What they probably should have done is separate physical and digital copies. Have digital copies work more or less the same as the original announcement, and physical copies work like they do on the Xbox 360. Then it becomes a choice. If you want all the benefits of digital distribution (and make sure you play those benefits up at every opportunity), you can do that. If you don't, get a physical copy, and it works the same way it always has.

Although Microsoft do clearly want to move towards only digital distribution, they can't yet. The restrictions on physical copies are basically just a response to publishers, who are convinced that the used game market is the cause of all of their problems. They're wrong, of course. Just as they were wrong about piracy being the cause of all their problems, and just as they were wrong about game rentals being the cause of all their problems before that.

As for the pricing thing - that will not happen.

As far as publishers are concerned, US$60 for a game is a bargain. They'd love to charge more, but people won't pay more than that. There is no way they'd ever reduce that, even if they eliminated used games entirely, and had zero distribution and publishing costs. They've already established that people are willing to pay US$60 for a game, and the sale price of an item is simply whatever people are willing to pay for it. If they reduce costs, why would they reduce the asking price? If they increase sales by removing used games entirely, why could they reduce the price? That's not how businesses work.

The only way game prices will come down is if there's some kind of competition. Game publishers will charge the same for an Xbox One or PS4 version of a game, because the publishers control the prices, so there's no competition there. New games currently cost the same on Xbox 360, PS3, and Steam, after all. Retailers don't really have much scope for reducing prices, because they have very little margin on new games, so there's no competition there. Used games would no longer be competing either, because publishers would just ask for some (probably very high) cut of all used game sales. There's no way to set up a competing online shop for Xbox One games, and no way to publish an Xbox One game without going through Microsoft, so there's no chance of competition there either.

The only potential source of competition is between games. Publishers have demonstrated that they are not willing to do this. Not on consoles, anyway. Competition between games is what pushed mobile game prices down, even though all sales went through the same app store. That happened because the mobile space was dominated by smaller developers, mostly self-funded and self-publishing, who needed to compete or die. That's not the case with the major publishers and developers.

Steam faces competition from retailers, from other online shops (either selling physical or digital copies), from all the publishers and developers who self-publish, and there's a great deal of competition between games because of the sheer number of smaller publishers or independent developers, combined with the absolutely enormous available back catalog, most of which still works on modern PCs. That, combined with various developers (Valve being the most obvious) who aren't even trying for a US$60 price point in the first place. That's why Steam has decent prices, why games cost less over time, any why they have such frequent sales. Competition, not because of restrictions on what you can do with the games.

BlackAura··on Equipment Failure May Cut Kepler Mission Short
It's possible that there's some engineering reason why they haven't. From a quick search and skimming a couple of research papers, it looks like magnetic bearings are used on smaller craft, but it sounds like they're still being actively developed for larger craft.

I guess the tech might not have been available for use on Kepler when they were designing it (they seem to have started design work in the late '90s sometime), or it had some kind of limitation or drawback that they couldn't accept.

BlackAura··on Being Really, Really, Ridiculously Good Looking
I was going to post that nobody who has actually been through it will tell you that it's easy. I guess I was wrong. I think you're probably missing the point.

I weighed slightly less than you (something like 105kg / 230lbs), dropped down to around 70kg (155lbs) mostly on diet changes, and am currently hovering around 75kg (165lbs) having been doing weight training for the last four months. Not done yet obviously (still some more body fat to get rid of), but I'm getting there.

It feels easy from here, certainly, because I'm used to it. Getting here required a lot of hard work (in my case, over a period of a couple of years), and a lot of persistence.

The problem is getting started - knowing what you need to do, getting on with it, and sticking to it. It's intimidating, and it requires quite a lot of commitment. The trick is that, once you've got going, it actually gets much easier. You just need to get going first.

I'll completely agree on this though: DO IT. Seriously, just do it. It's all going to be worth it in the end, because you'll feel so much better for it.

BlackAura··on Let's build a JPEG decoder: Huffman tables
Huffman coding alone wouldn't do a lot in that example. Huffman coding lets you build a prefix code to pack symbols into variable length sequences of bits, depending on the frequency of the symbol. A dictionary encoder, like LZ77, would replace repeated sequences by references, and that would make the two variable names equivalent. Deflate uses Huffman coding to pack the LZ77 compressed data using as few bits as possible, making it more efficient, but LZ77 is the part removing the redundancy.

I agree with the general sentiment though. Compression isn't magic, and understanding how it works helps you to work with compressed formats.

Writing your own implementation of some compression algorithms is a lot of fun to. I learned a lot from implementing Huffman coding and an LZ77 variant a few years ago.

BlackAura··on Asm.js: a strict subset of js for compilers – working draft
I think you're completely missing the point.

Let's assume, for a moment, that your position is basically right - that we need to come up with a language-independent VM, and that JavaScript isn't going to cut it. We'll even imagine that we have the ideal spec sitting in front of us, which does everything that anyone will ever need (which isn't going to happen).

How can we possibly get there from where we are now? Basically, we can't, for various reasons.

Anything that doesn't work on existing deployed web browsers is dead on arrival. If the VM won't work on the vast majority of deployed browsers, then I can't use it. It would take years for JavaScript-only browsers to die off enough that I can use the VM, especially Internet Explorer and various phone / tablet browsers (Android being an obvious problem, since most manufacturers do not release updates, or release them years late).

So, if I wanted to use the VM before 2020, I'd have to have a JavaScript-only fallback. I just don't have any other option, because I certainly can't use PNaCl (Chrome-only) or Flash (effectively desktop OS only). If I have a fully functional JavaScript-only solution, which works right now, in all existing browsers, what do I need the VM for?

That's assuming that we could possibly get any agreement on a VM. That's never going to happen, for a number of reasons.

The only browser manufacturer actually interested in a VM is Google. Hence, they're working on PNaCl. Microsoft, Apple and Mozilla are all against the idea for various reasons, ranging from pragmatic to idealistic.

There are far, far too many different ways to do a VM, which depends largely on what languages you want it to run. A VM designed for C / C++ code (which asm.js pretty much is, as is LLVM) is very different from something like the JVM or .NET CLR, which is different from the kind of VM a JavaScript implementation has. Different groups of people want completely different things, which are often diametrically opposed to one another. The kind of VM a game developer would want is completely different than the kind of VM you'd want for developing business applications, and either VM would be essentially useless for the other group.

Besides that, what's the point? Modern JavaScript JITs are stupidly fast, even when they have virtually no information about the code they're running (types, in particular). You can already cross-compile a number of languages to JavaScript, which often treat it as a low-level target.

Remember, the web is a huge collection of different systems (browsers, servers, websites, development tools, and so on) which really can't just be upgraded in one pop. It has to evolve, and it has to work at every step of the way. If something doesn't work, or isn't usable, it tends to die, even if it was a really good idea.

There's one possibility, though:

People start using JavaScript as a compilation target. Improvements in JavaScript engines make this approach viable, and reasonably fast. Compilers tend towards using JavaScript in a certain way, which is kind of predictable. Browser manufacturers notice this, examine the subset, and come up with a spec describing it, and a plan for optimizing it. Compilers start producing the standardized subset, and JavaScript VMs gradually start adding optimizations for the subset. Browser vendors start competing with one another for performance, pushing the optimized VM close to native speeds.

Then, eventually, someone might take what those browsers are already doing, write a bytecode implementation of it, and a JavaScript shim that turns the bytecode back into JavaScript to support existing browsers. If there's any advantage to it at all, this bytecode would be trivial to adopt in a browser (it's close to what they're already doing), so there's no reason for browser manufacturers to resist it. If there are no advantages to it, nobody will bother.

It'll probably end up being a perfectly reasonable feature, based on a design that would be completely insane if you designed it from scratch, but works anyway.

Page 1 of 2Next →