I've done some consulting in the realm of medical software and while I don't know every major in-and-out, the real problem is the market.
Here's an example of bringing a piece of software to the medical market:
- Come up with the idea for some software, write, debug, document it. **This is not the problem**
- Find a hospital or clinic, meet with the board (3+ months wait) to see if you can petition it's doctors/nurses/whomever to use your software.
- Find a group of medical staff that is willing to use said software, free of charge, on the side. You probably have to 'pay' them to do it somehow - give it away for free, or discount, when you actually start selling the software, or just a lot of business lunches. These people cannot legally use your software for actual medical purposes. They're just doubling their workload by using your system next to whatever the current mechanism they use.
- 6+ months go by. Now it's time to approach the board of directors of the hospital - make a presentation with the recommendations of the software users
- Now, hire an independent software analyst to review your software, while working with a lawyer - who themselves will work with one or more of the hospital's lawyers - to ensure that you're following all the legal requirements and hopsital software requirements. 1-6 months before you're certified for that hospital.
- Unfortunately, there may be other requirements that supersede the hospital's individual requirements, usually municipal, state, federal regs. You'll need to get certified on these (0-3 years duration).
- Finally get it rolled out to the hospitals and sold in the wild (note: repeat the certification steps for each new hospital/hospital group, but they'll be expedited)
Okay, so that's the general process. One part software development, 82 parts legal wrangling, red tape, and butt kissing.
You're also not going to make this thing very open. You won't use public libraries, because they need to be certified. You won't have common data, because every hospital wants different things. You're not going to use new technology or standards because it takes years to get it live, and when you make changes like that you have to start over.
You're also not being paid to add the features to make this externally accessible to god knows what.
Imagine the extra requirements involved in providing legal access to medical records to third parties. It's not a technological barrier; it's almost all legal. They must be certified, the two must have a contract, etc, etc. You can't just give it to anyone who asks - you have to have a legal relationship with each asker. That will have to be signed off on by the board too. And so on, and so on.
The project I did some consulting on? They're basically a sort of spreadsheet with calculations. It's been ~4 years, and it's still bouncing around, not yet fully certified and ready to open for sale. If they went back and added 3'd party export functionality, it'd be another 4.
Looking out there at other countries use of this sort of power, the only thing it's ever been used for is to crush political opposition including peaceful protests, and to hide government abuse at the time it's happening.
"Setting a child free on the Internet is a failure to cordon off the world and its dangers."
Well, yes. At a certain point when they lack the ability to comprehend danger, that might be true. However, you can only go for so long before enforced ignorance will backfire. You think your kid's friends have the same definition of limits as you? Or the public library? Or commercials on tv for sexed up teen drama, or sexed up medical drama, or murder-sex-up-cop drama? Or the line of magazines at the grocery store proclaiming "10 ways to have SEX that will give you a SUPER-ORGASM"? Or pop music about sex, drugs, and how great it is to combine the two?
At some point, you have to start coaching the child on the actual dangers of the world, including the internet. Especially the internet. It's ubiquitous, and once they're old enough to be a target, they're old enough to have circumvented any access restrictions you might use.
When they're old enough to start using Minecraft, they're probably old enough to get one in a series of many talks about the world. Stranger Danger applies to emails and creepy guys on websites too, you know.
Minecraft is not any sort of solution to this issue. It's just entertainment, and has nothing to do with it.
If the metric of comparison is employment, you need to be able to produce output rather than cite theory. In fact, I know of no developer, ever, who was hired on the strength of his awareness of theory with no programming ability. There is a chance you could get something like that in emerging fields like machine learning or data analysis, but you'd still have to have some ability to implement your theories or processes. Of course, you'd also have to be an acknowledged expert in the field, and that's not likely without products.
If the metric is the ability to produce a secure, well-architected product that utilizes some of the more popular frameworks and libraries, working with the common IDEs, build and testing tools, team collaboration tools, and awareness of the software development lifecycle, well again, being an actual software developer is better.
If the metric is ease of writing more efficient code (less memory, faster), or being able to evaluate, generate, and implement complex or new algorithms and heuristics such as key based encryption, trend analysis, predictive modeling, physics frameworks, and so on - well, in these cases you need the strength of the CS degree. You can't do it without picking up a great deal of necessary knowledge.
As a side note, at least 98% - probably more - of software business needs revolve around simple data manipulation, trivial calculations, and user interfaces of ever-increasing complexity. They want an inventorying system, or a way to generate a report on sales, or to send a digital payment from one customer to another, or whatever.
I dunno about you, but when that happens, the developers also tend to land on their feet, in a better job they didn't previously go for because they got comfy where they were. In my personal experience, devs are sort of lazy that way. They're not aware of their own value, and they don't self promote for purposes of advancing their career.
That's not how most management types work. Their thinking is always on how to progress. They're not interested in current output, they're interested in increasing the rate of output. They make vertical career changes, going up with each transition. That sort of thinking is ingrained in that domain. Big picture view. They don't have a problem torpedoing a project, if it's already done what it could for them and the company, no matter how much ownership a dev has in it.
Most software devs aren't like that. They don't think of dirty hacks as a good ROI, they think of them as simmering damage that needs a refactor. They're focused on the short term now, and long term personal ownership. When someone asks them where they'll be in the next 5 years (I hate this question...) they never think "VP in a different company" - they think "maybe... senior developer?". They don't maintain good relationships with recruiters or contracting agencies. In fact, when I suggested people do this last time in a slashdot post, there were a bunch of angry replies that varied from claiming I was working for contracting agencies, selling out my current company, or was acting like a manager.
As if ensuring a steady paycheck with as little difficulty as possible and watching the state of the company in case it was headed downhill was something only managers should be doing, and screw them for doing it.
We're way past the day when tradesmen and artists (however you think of yourself) can expect to be promoted to the highest echelons of pay and position simply for doing a really, REALLY good job for a long time. The average job duration is now right around 4.5 years. Raises and promotions that actually increase pay more than a pittance (instead of just more responsibilities) are almost nonexistent. You want a better position, more pay, you have to take that risk and jump.
When I was young, I did landscaping - mowing, edging, laying sod, pulling stumps, and the crap jobs at construction sites, like hauling packs of tiles three floors up on ladders, to get paid $20 under the table, and 2 cans of coke (or a beer - which still tasted horrible to me, but it was a 'reward' at the age of 14).
Then I worked selling concessions at a movie theater, which sucked. Then a lifeguard. Archery instructor. All had some fun points, but they were tiring, exhausting jobs at or near minimum wage.
Then I started working doing software development & system administration. I sat in a nice cushy chair, in a nice air-conditioned office. The work was still fun, but now I had energy at the end of the workday. I could go out and do something other than veg out. In fact, they were keen on flex time. An hour after dinner - I was gonna be on the computer anyway - meant I'd come in an hour late. Or two. As long as my tasks got done, really, no one cared when I was there or not. The best bit? I was paid scads more than I was making at my previous jobs. Even a crummy admin or dev job was 2-3 times more, and for less physical work.
We're not treated like scum. We're treated like standard white collar workers, who get paid more for doing less. We don't have a union, because they offer us nothing; we have good pay, good benefits, good working conditions and hours, good job prospects, and career flexibility
What I see people bitching about is that we're not paid the same as managers, which is just sour apples. Most of the decent programmers I know end up transitioning to manager anyway - if that's their preference - and they make the big bucks in exchange for not getting to work the code.
The fact is, being a programmer is relatively pretty awesome.
I get the feeling that they're inundated with apps, and they have a minimum-wage staff that's probably working in some outsourced Pune office, and they just follow the guidelines, literally. They go down a check list - and the guidelines are more specific than what they're posting here - if it passes, it passes. If it's not on the checklist, they don't care.
So it's not about 'good design' - since that's subjective, and that's hard to write a spec to - or to outsource. Instead, it probably has rules like "Capitalization is allowed for the first letter of the title of the app only: Extreme Snowboarding is fine, eXtreme Snowboarding is not.". They just go down this list of rules, and as long as you don't break them, you're fine. Some minor subjective decision making must be involved, since an app can be rejected, immediately resubmitted, and then accepted with no changes, but for the most part it's just rote.
My guess is that, like everything else Apple, they feel that if they publish the actual criteria, they'll lose control of some of their intellectual property, or people will be able to game the system or something. They have a real problem with control after all.
You mean people who will even risk death in pursuit of a high will turn towards something that's more easily available, and as a consequence of it's lower lethality, the number of overdoses goes down?
That. is. so. insightful.
As a more serious aside, it's somewhat disingenuous how the topic tries to conflate marijuana use with medical pain relief. Of the listed overdoses, how many of them were legally proscribed, for an actual ailment, and following the prescription instructions properly? How many of them were just people trying to get high.
Listen, we all know what the pro-pot movement is about. It's not medical. Medical usage is being used like a crowbar to pry open the gate on the path to legalization, but we all know the real reason people are behind it. People get medical marijuana prescriptions because they suffer from "not being high all the time," not because of glacuoma or because they want to replace the cotton industry with drug-free hemp.
Right now, the biggest motivator I have for legalizing pot is that I won't have to listen to the liars spouting their hypocrisy any more.
People who are suffering, ignorant, and afraid are more willing to turn to the supernatural - be it religion or superstitions - as a 'solution' to their problems.
Need not be realtime, nor every public servant. I mean, we don't need to watch the garbagemen.
It just has to be somewhere eventually accessible, with a known time delay - set by a court, perhaps if it's not going to be a default value like 1 or 3 days. Also protected from external tampering as someone above pointed out.
I'll be happier when I see cameras on the politicians. It'd be interesting to know what they agree to do in private lunch meetings with corporate CEOs and billionaire bankers. Criminally interesting, I suspect.
This was actually my first thought as well. You need a system that 8 year olds can navigate proficiently, because you're going to have a lot of folks in the army who don't have an education much past that, who will need to rely on these systems for their life, potentially while under fire. It has to be able to model complex scenarios and yet deliver it in a way that promotes clarity and simplicity.
I mean, what's the alternative? Make it complex and expect dullards will rise to the challenge, completely opposite of the results shown in their entire life history?
Basically, they're trying to make the ipod of computer teaching, so anyone can use it. Sorta the same, only the difficulty of the task is much, much higher.
Evaluating their research in this way is also valuable for the non-military applications of adaptive learning and UI design. As Southpark so aptly put it, "At least 25% of the US population is retarded." They're not all in the military. Besides, if what they're researching is mechanisms for adaptive teaching, a success could actually help reduce that number.
That's not to discount the commercial applications either. When I started work at the age of 16, at a movie theater, they expected that it would, for some reason, take 8 weeks for someone to learn how to use a cash register with the name of the item on the buttons, despite this being the sort of thing that should take little more than a cursory glance and a minute or two of experimentation. Then I realized that it's probably like that because they have to expect the lowest common denominator, and it's probably like that for many positions in most businesses. How much time and money could be saved by getting these LCD's trained faster? It's not just the company that benefits - you're increasing the value of the worker too, as they're eligible for a wider and more diverse set of jobs, even if they're an LCD.
Really, I think it's a great research goal with wide-reaching military, economic, and social applications, and see no problems whatsoever with evaluating it by having children use it. With the way computer- and remote- based teaching is going, we're going to need this sooner rather than later.
This isn't some sort of military indoctrination, or child-warrior program.
They're evaluating adaptive learning software, doing UI/UX evaluations, and so on. Yes, DARPA's goals focus on future military application, but despite the comments above, they're not making this some sort of Ender's game scenario with 8 year old kids flying drones. These kids are playing games that are trying to teach them STEM skills, and doing so with a sort of machine-learning backing. So the kids are learning, they get to use cutting-edge software backed by a hefty financial contribution, and the end result could be a new way to provide computer-aided teaching.
So there's no need to cry, "Think of the children!" - they're doing fine.
It's also good to note that these concepts are not restricted to military applications. Take a quick look over DARPA's history - much less the history of military science in general - and you'll see a bunch of amazing creations that we use in our day to day lives. Like the internet, GPS or the continued funding and support for self-driving cars and autonomous robotics.
One caveat: I'm not saying that military funding, DARPA or otherwise, shouldn't be transparent and examined, but in this case, there's no problem other than people who can't demux 'military' with 'automatically bad'.
This knowledge is often the difference between the experts and the experienced novices, and I think we all innately know this once we've experienced it. Java provides a nice example, because they build that requirement into their certification program and learn about obscured concepts like memory utilization and object creation, but examples exist elsewhere. That 'Aha!' moment when you read Effective C++, or when you grok EF, or understand why Backbone.js does the things it does in the way it does them. I've even seen it on graphic designers who were forced to write raw HTML and CSS, rather than Dreamweaver or Muse.
This isn't even a program-from-bare-metal argument, it's just simply a matter of understanding the underpinnings in order to write decent code, instead of just adequate code.
"Why are we switching to flatscreen LCD monitors that don't even have 1/3 of the resolution of my admittedly bulky CRT monitor? I can't even find one that does the same res, even at 3x the price!"
Response then is probably just as valid for phones today: "Cost to manufacture."(*)
(*) - also shelf space and shipping costs, but that's not applicable for slideout phones. In the end those are just varieties of 'money' as well.
The source of the quote above was Andrea Dworkin. Due to a combination of her immense weight, persistent and vocal misandry, and her declaration of her sexual preference, she was often referred as "that fat, angry lesbian," - you may recognize her from that, though it's unrelated to her belief system. Her primary belief structure revolved around the concept that male sexuality was a horrific abomination, that men are the source of all evil and suffering in the world, and that men must be tamed or destroyed.
She wrote many books with dollar-and-a-half words that focused on very complex explanations for her view of human sexuality, and provided wonderful quotes like this: "Marriage as an institution developed from rape as a practice." -- Andrea Dworkin "The annihilation of a woman's personality, individuality, will, character, is prerequisite to male sexuality." -- Andrea Dworkin "Only when manhood is dead - and it will perish when ravaged femininity no longer sustains it - only then will we know what it is to be free." --Andrea Dworkin
etc. She made her mark by making such outrageous statements, often. The general theme seem to be that men are evil and that female-male interaction of any type is called rape. The current trend of referring to concepts like staring or flirting as a type of rape come from this mindset.
However, she was in no way the only one. There are generations before and after her, and just as people quoted Valerie Solanas, people quote her as well. Simply search around for "radical feminist" - that's the phrase that means 'feminism but hates men' or in other words, 'female supremacist'. You'll find a ton of amusing quotes that a rational person would be hard pressed to believe.
The general consensus is that she probably did far more harm to the cause of female equality than she did to help it. However, many people today don't understand why that is, and parrot her quotes and ideas without awareness.
I want to do a point-by-point, but... there is no point. This is just a hate speech, perhaps only good for it's cathartic effect.
The bit where she indicates that harassment involving looks or those taunts of a sexual nature are unique to women because she hadn't heard of men being harassed was an impressive piece of ignorance, but itself only a single point adrift in a sea of wrong, and it'd take too long to wade through every one.
That being said, I took special issue with the sub-section that starts out "People just don't understand," and is then followed by paragraph after paragraph of "men can't understand," or "men don't know this." The very design of this argument refutes rational discussion; make claim, then state men (and 'brainwashed' women) can't understand, if anyone disagrees - that is, does not completely accept male culpability regardless of their involvement - they are perpetuating the problem due to ignorance, if not malice, and their arguments are thus refuted. In this way one can neatly make a claim and deal with dissenters in a single fell stroke.
I also noted that there wasn't a single constructive comment on how to fix this perceived problem. There were even references to pieces that had made suggestions, but this one in itself was simply a sort of angry screed against men.
In summary; the article failed to present a real case that misogyny is the driving force behind harassment of specific individuals or that indeed, harassment of a given gender is either exclusive, endemic or systemic. If this was meant to spur a call to action, it was a poorly thought out exercise.
- and I'm not saying that because she's female, either.
Before I read the article, before I decided whether there was a legitimate point, before I even had a chance to introspect whether or not I, personally, held some socially unacceptable viewpoints at an unconscious level, before all this, I saw the trigger warnings.
So before I read the article and judge it on it's own merits, let me talk about trigger warnings for a second, and what they seem to say.
My own personal experience with them tends to be very limited, but a casual perusal indicates that the vast majority of users appear to promote misandry - that is, man-hating - as an acceptable form of discrimination. There appears to be a fundamental belief that males, either consciously or not, are simply evil, often comically so. One site even referred to consensual, loving, heterosexual sex as "a man masturbating into a woman," and the author indicated their belief that any male-female interaction was one form of abuse or another, with the woman always the victim.
For lack of a better phrase, this level of irrational hate has become their religion, and it colors their views. Like the person who only has a hammer in their tool box, every problem appears to be a because-of-man nail, and we know how well that sort of thinking works.
So what the trigger warnings before this article seems to say is "I have a better chance of getting truthful and unbiased coverage from Fox News in an election year than I do of finding the barest glimmer of a hint of truth in the following text."
For a child between the ages of 5 to 10, yes, it's punishment. Especially in an age of tv on demand and nerf guns and xbox and legos and the whole world outside.
It's not an "easy way to teach them how to think," it's a way to teach them how to think about chess, which has limited value.
Chess also has very little to do with reasoning. At one level, the short-breadth min-max search for the next best would qualify, but since we're not great at that as humans, we fall to using pattern recognition gained through rote play experience. That is not reasoning and there's very little strategy. "Go Fish," has more inherent possibilities for strategy.
Let's focus on reasoning though. How can you explain pointing out my personal experiences as being invalid (as they are rightly anecdotal and not data) and then counter by providing your own anecdotal examples, except through a lack of reasoning?
Perhaps you need to play more... well, obviously not chess.
Do we really need to promote chess playing to a group of imaginative, energetic children who have just barely grasped the concept of role-taking, and are only barely ready to understand - much less compete in - competitive or team sports? Did they do something to earn this sort of punishment? Are these sort of felons?
Don't get me wrong; I was in a "Chess and Tactical Games Club" when I was in Highschool. We played warhammer 40k with minatures, star trek combat on a hex map that looked like a starscape, and recreated WW2 naval battles in the gym with wood blocks, marked ropes and protractors, played Risk and Axis & Allies. We even played a few economic simulator games.
However, I can't remember playing a single game of chess. This is largely because playing a game where a turn took an hour and a half was more fun than playing chess, and that's coming from a highschool geek back when the term meant something.
My guess is that there's only a perceived shortage of k-5 scholastic chess facilitators, rather, if the number is higher than 1, we probably have more than we ought.
- There's no framework or language that does everything, and we end up seeing variations of the 80/20 split even in the best case, where 80% of functionality is easy or built in, and the remaining 20% is either horrendously complex or impossible. Advocating for one and claiming "Hey, watch me pull a rabbit out of a hat!" can only be answered, "That trick never works." Besides, you'll probably just end up with "Visual ColdFusion," and then I will have to apply a murderous thrashing to the individual responsible.
- We think about software and programs in many different ways; data flow, decision trees, objects, messages, functions, and so on. We've tried both large and simple instruction sets to model these ideas, and while the former tends to require a great depth of knowledge and fosters complexity that way, the latter guarantees complexity when we attempt to model naturally complex systems - see Scheme for a good example. It's very hard to make something only as complex as it needs to be and no more - especially when the goal of 'acceptable complexity' is subjective and moving. A new hypercard will only meet the goal for some subset, not everyone.
- We as developers are most effective - writing code faster, with less bugs or security flaws - when we're using languages, frameworks, and development methodology that we're experienced with. This is a serious flaw of the current framework of the week trend, and should be considered when operating within a SDLC process. However, the only ones who have the personal experience to understand this are the curmudgeonly, stuck-in-their-ways devs who will be ignored when they bring it up. The problem is simple; we love our toy languages and frameworks, until the next one comes out or we grow up and stop playing with toys. The solution is also simple; You have a good, experienced (not just capable) developer acting as architect, who guides everything from framework changes, to IDEs, to coding styles at a measured pace, and provides for training and familiarization. Otherwise you get yahoos wanting to rewrite key pages in a 12 year old legacy J2EE app in Ruby and running noSQL for absolutely no reason at all, and the increased upkeep cost.
- "Effectively excluded," is a poor way to phrase this, as many others have noted. There's no exclusion other than the requirement someone posses the skills, and prior to that, the necessary attention and desire to learn those skills, and that's just a choice. This is the same for any other trade, and programming's requirements are not especially weighty. Most people chose not to learn how to set the time on their VCRs, they were not "effectively excluded" from doing so.
In my personal opinion, the allegorical great unwashed masses that are not programmers are held back less by the amount of knowledge required, and more by their own lack of desire. Just like getting women into computer science degrees and jobs, this is not something you fix by introducing a new development tool, be it language or framework. You want more people making webpages? Get the government to pay everyone $25 per page, and I'm sure you'll see lots of folks choosing to no longer be 'effectively excluded'.
Scheme was developed by CS professors for other CS professors. It was not made for students, regardless of what the purple wizard book claims. It was written by CS theorists who were very good at CS, and very bad at teaching.
Scheme programs were neither easy nor obvious to read or comprehend. It's simplified syntax results in the need for overly complex machinations to produce anything but the most trivial of operations - writing an algorithm that's gone 18 or 20 indentation layers deep is fairly standard with nested scoping blocks to manipulate multiple variables. Ever try to figure out where you're missing a closing paren in 5 pages of Scheme code?
Then we get into common data structures like actual arrays and hashmaps, or even the ability to realistically define our own types. Numbers are screwy too.
Slap all this together with a complete lack of object oriented programing and the final and perhaps most severe obstacle; as a functional language, new students must first learn to think along a different paradigm, one opposed to how they had been thinking their whole life, before they can begin to comprehend the basic concepts they're supposed to be learning, and you've got possibly one of the worst languages if your intent is to teach.
Now, I'm not a big fan of Python, but let's face it, it's so many miles above Scheme when it comes to ease of learning and demonstrating CS concepts that it's barely worth noting Scheme even exists.
I'm loathe to respond to a troll, but I was, perhaps, being too subtle. I'll give it a shot.
The problem is (pick one or more);... that offering lessons to minorities only is discriminatory, the very behavior implied or outright claimed to be responsible for the current situation... that providing yet more free lessons into an environment already completely populated with free lessons could not reasonably have an impact... there is no explicit need for any given job to represent population breakdowns... there is no explicit relationship between population breakdowns for a job that itself asserts discrimination on that basis alone... that 'equality' in terms of equal distribution of employment for a given subset of jobs is wholly unrelated with the concept of '(social) equality', where two groups of people have the same set of rights, and further, that the former has no inherent value.... that there appears to be no systemic discrimination against minorities in the process of hiring for these jobs... there appears to be no systemic discrimination in computer science college degree programs... there appears to be no systemic discrimination in high school computer skill classes... the number of minorities who express interest - rather than those being discriminated against - appears to be the prime cause of low percentiles, yet few beat this drum, nor as loudly, when simply claiming discrimination is easier, free from analysis, politically empowering, and much more financially lucrative.... that resources spent attempting to fix a 'problem' that doesn't really exist, with any solution that wouldn't fix it if it did is not only inefficient and frustrating, it removes resources from those places where they would have a real impact, to fix existent problems.... that people who state something like this are immediately demonized as sexist, racist, or some other form of bigotry, and so impairs real discussion when it comes to these topics, making advocates immune to constructive criticism, rational analysis, or suggestions of refinement or refactor in method and goal.
For me, though, what it comes down to is this:... that there isn't really a problem, but hand-wringing and wailing has convinced people there is one nonetheless, and this belief has become a religion.
I didn't realize that the gender and minority gaps in the software development industry was simply due to availability of lessons! It's proper, and not at all ironic that we can fix this entirely obvious case of discrimination by making sure to treat certain groups differently than others based on those differences they have no control over, as opposed to merit-based evaluations that judge the worth of an individual regardless of their gender or skin color.
Boy, whew, is that good news though.
I mean, if it was something like self-selective behavior that arose largely from fundamental differences in behavior and temperament due to genetic predisposition, coupled with cultural bias a would-be/could-be programmer brings with them, it'd be really hard to overcome. That'd be a real problem, no doubt. How to make certain groups want to be a programmer, outside of all the opportunities they already have, literally thousands of hours of videos and lectures, hundreds of thousands of tutorials, and millions of step-by-step examples available from libraries, public schools, and for free on the internet - that's a very tough job. It'd be like trying to get kids to like broccoli and lima beans.
But gosh, wow, thankfully we really figured it out this time.
This will certainly solve everything, and we'll make sure that we have nearly-matching statistical matches between the greater population and these careers, just like every other career path or employment opportunity out there, from the military, to civic service, from elementary education to nursing and construction workers, we'll have finally caught up with the other trades.
Thank goodness too, that this didn't morph a naturally arising statistical evaluation into a minority rights issue, where even discussion of the problem is verboten to the perceived majority, and failure to blindly throw money at it while artificially inflating your employee base through heavy handed discrimination would single one out as racist, sexist, or simply an unethical organization.
We really dodged a bullet there, and I can only applaud this important step towards real equality.
I've done some consulting in the realm of medical software and while I don't know every major in-and-out, the real problem is the market.
Here's an example of bringing a piece of software to the medical market:
- Come up with the idea for some software, write, debug, document it. **This is not the problem**
- Find a hospital or clinic, meet with the board (3+ months wait) to see if you can petition it's doctors/nurses/whomever to use your software.
- Find a group of medical staff that is willing to use said software, free of charge, on the side. You probably have to 'pay' them to do it somehow - give it away for free, or discount, when you actually start selling the software, or just a lot of business lunches. These people cannot legally use your software for actual medical purposes. They're just doubling their workload by using your system next to whatever the current mechanism they use.
- 6+ months go by. Now it's time to approach the board of directors of the hospital - make a presentation with the recommendations of the software users
- Now, hire an independent software analyst to review your software, while working with a lawyer - who themselves will work with one or more of the hospital's lawyers - to ensure that you're following all the legal requirements and hopsital software requirements. 1-6 months before you're certified for that hospital.
- Unfortunately, there may be other requirements that supersede the hospital's individual requirements, usually municipal, state, federal regs. You'll need to get certified on these (0-3 years duration).
- Finally get it rolled out to the hospitals and sold in the wild (note: repeat the certification steps for each new hospital/hospital group, but they'll be expedited)
Okay, so that's the general process. One part software development, 82 parts legal wrangling, red tape, and butt kissing.
You're also not going to make this thing very open. You won't use public libraries, because they need to be certified. You won't have common data, because every hospital wants different things. You're not going to use new technology or standards because it takes years to get it live, and when you make changes like that you have to start over.
You're also not being paid to add the features to make this externally accessible to god knows what.
Imagine the extra requirements involved in providing legal access to medical records to third parties. It's not a technological barrier; it's almost all legal. They must be certified, the two must have a contract, etc, etc. You can't just give it to anyone who asks - you have to have a legal relationship with each asker. That will have to be signed off on by the board too. And so on, and so on.
The project I did some consulting on? They're basically a sort of spreadsheet with calculations. It's been ~4 years, and it's still bouncing around, not yet fully certified and ready to open for sale. If they went back and added 3'd party export functionality, it'd be another 4.
Looking out there at other countries use of this sort of power, the only thing it's ever been used for is to crush political opposition including peaceful protests, and to hide government abuse at the time it's happening.
"Setting a child free on the Internet is a failure to cordon off the world and its dangers."
Well, yes. At a certain point when they lack the ability to comprehend danger, that might be true. However, you can only go for so long before enforced ignorance will backfire. You think your kid's friends have the same definition of limits as you? Or the public library? Or commercials on tv for sexed up teen drama, or sexed up medical drama, or murder-sex-up-cop drama? Or the line of magazines at the grocery store proclaiming "10 ways to have SEX that will give you a SUPER-ORGASM"? Or pop music about sex, drugs, and how great it is to combine the two?
At some point, you have to start coaching the child on the actual dangers of the world, including the internet. Especially the internet. It's ubiquitous, and once they're old enough to be a target, they're old enough to have circumvented any access restrictions you might use.
When they're old enough to start using Minecraft, they're probably old enough to get one in a series of many talks about the world. Stranger Danger applies to emails and creepy guys on websites too, you know.
Minecraft is not any sort of solution to this issue. It's just entertainment, and has nothing to do with it.
If the metric of comparison is employment, you need to be able to produce output rather than cite theory. In fact, I know of no developer, ever, who was hired on the strength of his awareness of theory with no programming ability. There is a chance you could get something like that in emerging fields like machine learning or data analysis, but you'd still have to have some ability to implement your theories or processes. Of course, you'd also have to be an acknowledged expert in the field, and that's not likely without products.
If the metric is the ability to produce a secure, well-architected product that utilizes some of the more popular frameworks and libraries, working with the common IDEs, build and testing tools, team collaboration tools, and awareness of the software development lifecycle, well again, being an actual software developer is better.
If the metric is ease of writing more efficient code (less memory, faster), or being able to evaluate, generate, and implement complex or new algorithms and heuristics such as key based encryption, trend analysis, predictive modeling, physics frameworks, and so on - well, in these cases you need the strength of the CS degree. You can't do it without picking up a great deal of necessary knowledge.
As a side note, at least 98% - probably more - of software business needs revolve around simple data manipulation, trivial calculations, and user interfaces of ever-increasing complexity. They want an inventorying system, or a way to generate a report on sales, or to send a digital payment from one customer to another, or whatever.
I dunno about you, but when that happens, the developers also tend to land on their feet, in a better job they didn't previously go for because they got comfy where they were. In my personal experience, devs are sort of lazy that way. They're not aware of their own value, and they don't self promote for purposes of advancing their career.
That's not how most management types work. Their thinking is always on how to progress. They're not interested in current output, they're interested in increasing the rate of output. They make vertical career changes, going up with each transition. That sort of thinking is ingrained in that domain. Big picture view. They don't have a problem torpedoing a project, if it's already done what it could for them and the company, no matter how much ownership a dev has in it.
Most software devs aren't like that. They don't think of dirty hacks as a good ROI, they think of them as simmering damage that needs a refactor. They're focused on the short term now, and long term personal ownership. When someone asks them where they'll be in the next 5 years (I hate this question ...) they never think "VP in a different company" - they think "maybe ... senior developer?". They don't maintain good relationships with recruiters or contracting agencies. In fact, when I suggested people do this last time in a slashdot post, there were a bunch of angry replies that varied from claiming I was working for contracting agencies, selling out my current company, or was acting like a manager.
As if ensuring a steady paycheck with as little difficulty as possible and watching the state of the company in case it was headed downhill was something only managers should be doing, and screw them for doing it.
We're way past the day when tradesmen and artists (however you think of yourself) can expect to be promoted to the highest echelons of pay and position simply for doing a really, REALLY good job for a long time. The average job duration is now right around 4.5 years. Raises and promotions that actually increase pay more than a pittance (instead of just more responsibilities) are almost nonexistent. You want a better position, more pay, you have to take that risk and jump.
When I was young, I did landscaping - mowing, edging, laying sod, pulling stumps, and the crap jobs at construction sites, like hauling packs of tiles three floors up on ladders, to get paid $20 under the table, and 2 cans of coke (or a beer - which still tasted horrible to me, but it was a 'reward' at the age of 14).
Then I worked selling concessions at a movie theater, which sucked. Then a lifeguard. Archery instructor. All had some fun points, but they were tiring, exhausting jobs at or near minimum wage.
Then I started working doing software development & system administration. I sat in a nice cushy chair, in a nice air-conditioned office. The work was still fun, but now I had energy at the end of the workday. I could go out and do something other than veg out. In fact, they were keen on flex time. An hour after dinner - I was gonna be on the computer anyway - meant I'd come in an hour late. Or two. As long as my tasks got done, really, no one cared when I was there or not. The best bit? I was paid scads more than I was making at my previous jobs. Even a crummy admin or dev job was 2-3 times more, and for less physical work.
We're not treated like scum. We're treated like standard white collar workers, who get paid more for doing less. We don't have a union, because they offer us nothing; we have good pay, good benefits, good working conditions and hours, good job prospects, and career flexibility
What I see people bitching about is that we're not paid the same as managers, which is just sour apples. Most of the decent programmers I know end up transitioning to manager anyway - if that's their preference - and they make the big bucks in exchange for not getting to work the code.
The fact is, being a programmer is relatively pretty awesome.
I had the same experience.
I get the feeling that they're inundated with apps, and they have a minimum-wage staff that's probably working in some outsourced Pune office, and they just follow the guidelines, literally. They go down a check list - and the guidelines are more specific than what they're posting here - if it passes, it passes. If it's not on the checklist, they don't care.
So it's not about 'good design' - since that's subjective, and that's hard to write a spec to - or to outsource. Instead, it probably has rules like "Capitalization is allowed for the first letter of the title of the app only: Extreme Snowboarding is fine, eXtreme Snowboarding is not.". They just go down this list of rules, and as long as you don't break them, you're fine. Some minor subjective decision making must be involved, since an app can be rejected, immediately resubmitted, and then accepted with no changes, but for the most part it's just rote.
My guess is that, like everything else Apple, they feel that if they publish the actual criteria, they'll lose control of some of their intellectual property, or people will be able to game the system or something. They have a real problem with control after all.
You mean people who will even risk death in pursuit of a high will turn towards something that's more easily available, and as a consequence of it's lower lethality, the number of overdoses goes down?
That. is. so. insightful.
As a more serious aside, it's somewhat disingenuous how the topic tries to conflate marijuana use with medical pain relief. Of the listed overdoses, how many of them were legally proscribed, for an actual ailment, and following the prescription instructions properly? How many of them were just people trying to get high.
Listen, we all know what the pro-pot movement is about. It's not medical. Medical usage is being used like a crowbar to pry open the gate on the path to legalization, but we all know the real reason people are behind it. People get medical marijuana prescriptions because they suffer from "not being high all the time," not because of glacuoma or because they want to replace the cotton industry with drug-free hemp.
Right now, the biggest motivator I have for legalizing pot is that I won't have to listen to the liars spouting their hypocrisy any more.
People who are suffering, ignorant, and afraid are more willing to turn to the supernatural - be it religion or superstitions - as a 'solution' to their problems.
Need not be realtime, nor every public servant. I mean, we don't need to watch the garbagemen.
It just has to be somewhere eventually accessible, with a known time delay - set by a court, perhaps if it's not going to be a default value like 1 or 3 days. Also protected from external tampering as someone above pointed out.
I'll be happier when I see cameras on the politicians. It'd be interesting to know what they agree to do in private lunch meetings with corporate CEOs and billionaire bankers. Criminally interesting, I suspect.
This was actually my first thought as well. You need a system that 8 year olds can navigate proficiently, because you're going to have a lot of folks in the army who don't have an education much past that, who will need to rely on these systems for their life, potentially while under fire. It has to be able to model complex scenarios and yet deliver it in a way that promotes clarity and simplicity.
I mean, what's the alternative? Make it complex and expect dullards will rise to the challenge, completely opposite of the results shown in their entire life history?
Basically, they're trying to make the ipod of computer teaching, so anyone can use it. Sorta the same, only the difficulty of the task is much, much higher.
Evaluating their research in this way is also valuable for the non-military applications of adaptive learning and UI design. As Southpark so aptly put it, "At least 25% of the US population is retarded." They're not all in the military. Besides, if what they're researching is mechanisms for adaptive teaching, a success could actually help reduce that number.
That's not to discount the commercial applications either. When I started work at the age of 16, at a movie theater, they expected that it would, for some reason, take 8 weeks for someone to learn how to use a cash register with the name of the item on the buttons, despite this being the sort of thing that should take little more than a cursory glance and a minute or two of experimentation. Then I realized that it's probably like that because they have to expect the lowest common denominator, and it's probably like that for many positions in most businesses. How much time and money could be saved by getting these LCD's trained faster? It's not just the company that benefits - you're increasing the value of the worker too, as they're eligible for a wider and more diverse set of jobs, even if they're an LCD.
Really, I think it's a great research goal with wide-reaching military, economic, and social applications, and see no problems whatsoever with evaluating it by having children use it. With the way computer- and remote- based teaching is going, we're going to need this sooner rather than later.
This isn't some sort of military indoctrination, or child-warrior program.
They're evaluating adaptive learning software, doing UI/UX evaluations, and so on. Yes, DARPA's goals focus on future military application, but despite the comments above, they're not making this some sort of Ender's game scenario with 8 year old kids flying drones. These kids are playing games that are trying to teach them STEM skills, and doing so with a sort of machine-learning backing. So the kids are learning, they get to use cutting-edge software backed by a hefty financial contribution, and the end result could be a new way to provide computer-aided teaching.
So there's no need to cry, "Think of the children!" - they're doing fine.
It's also good to note that these concepts are not restricted to military applications. Take a quick look over DARPA's history - much less the history of military science in general - and you'll see a bunch of amazing creations that we use in our day to day lives. Like the internet, GPS or the continued funding and support for self-driving cars and autonomous robotics.
One caveat: I'm not saying that military funding, DARPA or otherwise, shouldn't be transparent and examined, but in this case, there's no problem other than people who can't demux 'military' with 'automatically bad'.
A good rule of thumb is that you must understand your program at least one layer of abstraction past the user layer to be truly competent with it.
That's frameworks, libraries, languages, whatever.
This knowledge is often the difference between the experts and the experienced novices, and I think we all innately know this once we've experienced it. Java provides a nice example, because they build that requirement into their certification program and learn about obscured concepts like memory utilization and object creation, but examples exist elsewhere. That 'Aha!' moment when you read Effective C++, or when you grok EF, or understand why Backbone.js does the things it does in the way it does them. I've even seen it on graphic designers who were forced to write raw HTML and CSS, rather than Dreamweaver or Muse.
This isn't even a program-from-bare-metal argument, it's just simply a matter of understanding the underpinnings in order to write decent code, instead of just adequate code.
"Why are we switching to flatscreen LCD monitors that don't even have 1/3 of the resolution of my admittedly bulky CRT monitor? I can't even find one that does the same res, even at 3x the price!"
Response then is probably just as valid for phones today: "Cost to manufacture."(*)
(*) - also shelf space and shipping costs, but that's not applicable for slideout phones. In the end those are just varieties of 'money' as well.
The source of the quote above was Andrea Dworkin. Due to a combination of her immense weight, persistent and vocal misandry, and her declaration of her sexual preference, she was often referred as "that fat, angry lesbian," - you may recognize her from that, though it's unrelated to her belief system. Her primary belief structure revolved around the concept that male sexuality was a horrific abomination, that men are the source of all evil and suffering in the world, and that men must be tamed or destroyed.
She wrote many books with dollar-and-a-half words that focused on very complex explanations for her view of human sexuality, and provided wonderful quotes like this:
"Marriage as an institution developed from rape as a practice." -- Andrea Dworkin
"The annihilation of a woman's personality, individuality, will, character, is prerequisite to male sexuality." -- Andrea Dworkin
"Only when manhood is dead - and it will perish when ravaged femininity no longer sustains it - only then will we know what it is to be free." --Andrea Dworkin
etc. She made her mark by making such outrageous statements, often. The general theme seem to be that men are evil and that female-male interaction of any type is called rape. The current trend of referring to concepts like staring or flirting as a type of rape come from this mindset.
However, she was in no way the only one. There are generations before and after her, and just as people quoted Valerie Solanas, people quote her as well. Simply search around for "radical feminist" - that's the phrase that means 'feminism but hates men' or in other words, 'female supremacist'. You'll find a ton of amusing quotes that a rational person would be hard pressed to believe.
The general consensus is that she probably did far more harm to the cause of female equality than she did to help it. However, many people today don't understand why that is, and parrot her quotes and ideas without awareness.
I want to do a point-by-point, but ... there is no point. This is just a hate speech, perhaps only good for it's cathartic effect.
The bit where she indicates that harassment involving looks or those taunts of a sexual nature are unique to women because she hadn't heard of men being harassed was an impressive piece of ignorance, but itself only a single point adrift in a sea of wrong, and it'd take too long to wade through every one.
That being said, I took special issue with the sub-section that starts out "People just don't understand," and is then followed by paragraph after paragraph of "men can't understand," or "men don't know this." The very design of this argument refutes rational discussion; make claim, then state men (and 'brainwashed' women) can't understand, if anyone disagrees - that is, does not completely accept male culpability regardless of their involvement - they are perpetuating the problem due to ignorance, if not malice, and their arguments are thus refuted. In this way one can neatly make a claim and deal with dissenters in a single fell stroke.
I also noted that there wasn't a single constructive comment on how to fix this perceived problem. There were even references to pieces that had made suggestions, but this one in itself was simply a sort of angry screed against men.
In summary; the article failed to present a real case that misogyny is the driving force behind harassment of specific individuals or that indeed, harassment of a given gender is either exclusive, endemic or systemic. If this was meant to spur a call to action, it was a poorly thought out exercise.
- and I'm not saying that because she's female, either.
Before I read the article, before I decided whether there was a legitimate point, before I even had a chance to introspect whether or not I, personally, held some socially unacceptable viewpoints at an unconscious level, before all this, I saw the trigger warnings.
So before I read the article and judge it on it's own merits, let me talk about trigger warnings for a second, and what they seem to say.
My own personal experience with them tends to be very limited, but a casual perusal indicates that the vast majority of users appear to promote misandry - that is, man-hating - as an acceptable form of discrimination. There appears to be a fundamental belief that males, either consciously or not, are simply evil, often comically so. One site even referred to consensual, loving, heterosexual sex as "a man masturbating into a woman," and the author indicated their belief that any male-female interaction was one form of abuse or another, with the woman always the victim.
For lack of a better phrase, this level of irrational hate has become their religion, and it colors their views. Like the person who only has a hammer in their tool box, every problem appears to be a because-of-man nail, and we know how well that sort of thinking works.
So what the trigger warnings before this article seems to say is "I have a better chance of getting truthful and unbiased coverage from Fox News in an election year than I do of finding the barest glimmer of a hint of truth in the following text."
For a child between the ages of 5 to 10, yes, it's punishment. Especially in an age of tv on demand and nerf guns and xbox and legos and the whole world outside.
It's not an "easy way to teach them how to think," it's a way to teach them how to think about chess, which has limited value.
Chess also has very little to do with reasoning. At one level, the short-breadth min-max search for the next best would qualify, but since we're not great at that as humans, we fall to using pattern recognition gained through rote play experience. That is not reasoning and there's very little strategy. "Go Fish," has more inherent possibilities for strategy.
Let's focus on reasoning though. How can you explain pointing out my personal experiences as being invalid (as they are rightly anecdotal and not data) and then counter by providing your own anecdotal examples, except through a lack of reasoning?
Perhaps you need to play more ... well, obviously not chess.
Do we really need to promote chess playing to a group of imaginative, energetic children who have just barely grasped the concept of role-taking, and are only barely ready to understand - much less compete in - competitive or team sports? Did they do something to earn this sort of punishment? Are these sort of felons?
Don't get me wrong; I was in a "Chess and Tactical Games Club" when I was in Highschool. We played warhammer 40k with minatures, star trek combat on a hex map that looked like a starscape, and recreated WW2 naval battles in the gym with wood blocks, marked ropes and protractors, played Risk and Axis & Allies. We even played a few economic simulator games.
However, I can't remember playing a single game of chess. This is largely because playing a game where a turn took an hour and a half was more fun than playing chess, and that's coming from a highschool geek back when the term meant something.
My guess is that there's only a perceived shortage of k-5 scholastic chess facilitators, rather, if the number is higher than 1, we probably have more than we ought.
- There's no framework or language that does everything, and we end up seeing variations of the 80/20 split even in the best case, where 80% of functionality is easy or built in, and the remaining 20% is either horrendously complex or impossible. Advocating for one and claiming "Hey, watch me pull a rabbit out of a hat!" can only be answered, "That trick never works." Besides, you'll probably just end up with "Visual ColdFusion," and then I will have to apply a murderous thrashing to the individual responsible.
- We think about software and programs in many different ways; data flow, decision trees, objects, messages, functions, and so on. We've tried both large and simple instruction sets to model these ideas, and while the former tends to require a great depth of knowledge and fosters complexity that way, the latter guarantees complexity when we attempt to model naturally complex systems - see Scheme for a good example. It's very hard to make something only as complex as it needs to be and no more - especially when the goal of 'acceptable complexity' is subjective and moving. A new hypercard will only meet the goal for some subset, not everyone.
- We as developers are most effective - writing code faster, with less bugs or security flaws - when we're using languages, frameworks, and development methodology that we're experienced with. This is a serious flaw of the current framework of the week trend, and should be considered when operating within a SDLC process. However, the only ones who have the personal experience to understand this are the curmudgeonly, stuck-in-their-ways devs who will be ignored when they bring it up. The problem is simple; we love our toy languages and frameworks, until the next one comes out or we grow up and stop playing with toys. The solution is also simple; You have a good, experienced (not just capable) developer acting as architect, who guides everything from framework changes, to IDEs, to coding styles at a measured pace, and provides for training and familiarization. Otherwise you get yahoos wanting to rewrite key pages in a 12 year old legacy J2EE app in Ruby and running noSQL for absolutely no reason at all, and the increased upkeep cost.
- "Effectively excluded," is a poor way to phrase this, as many others have noted. There's no exclusion other than the requirement someone posses the skills, and prior to that, the necessary attention and desire to learn those skills, and that's just a choice. This is the same for any other trade, and programming's requirements are not especially weighty. Most people chose not to learn how to set the time on their VCRs, they were not "effectively excluded" from doing so.
In my personal opinion, the allegorical great unwashed masses that are not programmers are held back less by the amount of knowledge required, and more by their own lack of desire. Just like getting women into computer science degrees and jobs, this is not something you fix by introducing a new development tool, be it language or framework. You want more people making webpages? Get the government to pay everyone $25 per page, and I'm sure you'll see lots of folks choosing to no longer be 'effectively excluded'.
Scheme was developed by CS professors for other CS professors. It was not made for students, regardless of what the purple wizard book claims. It was written by CS theorists who were very good at CS, and very bad at teaching.
Scheme programs were neither easy nor obvious to read or comprehend. It's simplified syntax results in the need for overly complex machinations to produce anything but the most trivial of operations - writing an algorithm that's gone 18 or 20 indentation layers deep is fairly standard with nested scoping blocks to manipulate multiple variables. Ever try to figure out where you're missing a closing paren in 5 pages of Scheme code?
Then we get into common data structures like actual arrays and hashmaps, or even the ability to realistically define our own types. Numbers are screwy too.
Slap all this together with a complete lack of object oriented programing and the final and perhaps most severe obstacle; as a functional language, new students must first learn to think along a different paradigm, one opposed to how they had been thinking their whole life, before they can begin to comprehend the basic concepts they're supposed to be learning, and you've got possibly one of the worst languages if your intent is to teach.
Now, I'm not a big fan of Python, but let's face it, it's so many miles above Scheme when it comes to ease of learning and demonstrating CS concepts that it's barely worth noting Scheme even exists.
Gah. It stripped my formatting. Sorry, each ellipses was meant to be on it's own line.
I'm loathe to respond to a troll, but I was, perhaps, being too subtle. I'll give it a shot.
The problem is (pick one or more); ... that offering lessons to minorities only is discriminatory, the very behavior implied or outright claimed to be responsible for the current situation ... that providing yet more free lessons into an environment already completely populated with free lessons could not reasonably have an impact ... there is no explicit need for any given job to represent population breakdowns ... there is no explicit relationship between population breakdowns for a job that itself asserts discrimination on that basis alone ... that 'equality' in terms of equal distribution of employment for a given subset of jobs is wholly unrelated with the concept of '(social) equality', where two groups of people have the same set of rights, and further, that the former has no inherent value. ... that there appears to be no systemic discrimination against minorities in the process of hiring for these jobs ... there appears to be no systemic discrimination in computer science college degree programs ... there appears to be no systemic discrimination in high school computer skill classes ... the number of minorities who express interest - rather than those being discriminated against - appears to be the prime cause of low percentiles, yet few beat this drum, nor as loudly, when simply claiming discrimination is easier, free from analysis, politically empowering, and much more financially lucrative. ... that resources spent attempting to fix a 'problem' that doesn't really exist, with any solution that wouldn't fix it if it did is not only inefficient and frustrating, it removes resources from those places where they would have a real impact, to fix existent problems. ... that people who state something like this are immediately demonized as sexist, racist, or some other form of bigotry, and so impairs real discussion when it comes to these topics, making advocates immune to constructive criticism, rational analysis, or suggestions of refinement or refactor in method and goal.
For me, though, what it comes down to is this: ... that there isn't really a problem, but hand-wringing and wailing has convinced people there is one nonetheless, and this belief has become a religion.
I didn't realize that the gender and minority gaps in the software development industry was simply due to availability of lessons! It's proper, and not at all ironic that we can fix this entirely obvious case of discrimination by making sure to treat certain groups differently than others based on those differences they have no control over, as opposed to merit-based evaluations that judge the worth of an individual regardless of their gender or skin color.
Boy, whew, is that good news though.
I mean, if it was something like self-selective behavior that arose largely from fundamental differences in behavior and temperament due to genetic predisposition, coupled with cultural bias a would-be/could-be programmer brings with them, it'd be really hard to overcome. That'd be a real problem, no doubt. How to make certain groups want to be a programmer, outside of all the opportunities they already have, literally thousands of hours of videos and lectures, hundreds of thousands of tutorials, and millions of step-by-step examples available from libraries, public schools, and for free on the internet - that's a very tough job. It'd be like trying to get kids to like broccoli and lima beans.
But gosh, wow, thankfully we really figured it out this time.
This will certainly solve everything, and we'll make sure that we have nearly-matching statistical matches between the greater population and these careers, just like every other career path or employment opportunity out there, from the military, to civic service, from elementary education to nursing and construction workers, we'll have finally caught up with the other trades.
Thank goodness too, that this didn't morph a naturally arising statistical evaluation into a minority rights issue, where even discussion of the problem is verboten to the perceived majority, and failure to blindly throw money at it while artificially inflating your employee base through heavy handed discrimination would single one out as racist, sexist, or simply an unethical organization.
We really dodged a bullet there, and I can only applaud this important step towards real equality.