Forgot your password?
typodupeerror

Comment: Couple of dissenting points (Score 1) 559

by quietwalker (#47415593) Attached to: Normal Humans Effectively Excluded From Developing Software

- 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'.

Comment: Re:What happened to Scheme? (Score 2) 403

by quietwalker (#47410641) Attached to: Python Bumps Off Java As Top Learning Language

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.

Comment: Re:So that's the problem! (Score 1) 374

by quietwalker (#47340457) Attached to: Google Is Offering Free Coding Lessons To Women and Minorities

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.

Comment: So that's the problem! (Score 3, Insightful) 374

by quietwalker (#47337021) Attached to: Google Is Offering Free Coding Lessons To Women and Minorities

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.

Comment: He could have researched a bit harder. (Score 5, Interesting) 215

by quietwalker (#47332613) Attached to: Exploiting Wildcards On Linux/Unix

I remember reading about this in the 1991 release of "Practical Internet and Unix Security," from O'Reilly back in 1991. I'm pretty sure they even gave examples. They also laid out a number of suggestions to mitigate risk, including not specifying the current path, ".", in the root user's path so they must explicitly type the location of an executable script, and so on.

They also pointed out that some well-behaved shells eliminate certain ease-of-use-but-exploitable features when it detects that a privileged user is running it, and even on systems where that's not the standard, the default .bashrc or equivalent files often set up aliases for common commands that disable features like wildcard matching, or color codes (which could be used if you're very tricky, to match a filename color to the background color of the screen, among other things), the path restriction listed above, and many many others.

It's really hard to secure shell accounts on systems, no matter how you try. Is this article just proof that the current generation of unix admins is rediscovering this? Should I be shaking my fist and telling the kids to get off my lawn? This was old news 2 over decades ago.

Comment: Re:Probably (Score 1) 215

by quietwalker (#47273305) Attached to: Was <em>Watch Dogs</em> For PC Handicapped On Purpose?

Yeah. I tried playing Assassin's Creed in 3D, thinking it might be cool. Most of the 3D effects are minimal, with the exception of the new inclusion of depth of field. With 3D on, it makes anything more than 20 virtual feet from your character fuzzy and imprecise. After being sniped by or alerting rooftop guards that I couldn't distinguish from chimneys, masonry, doors, etc - I just turned it off. It incurred a penalty to play that way.

Comment: Re:A truism: Profit is more valuable than charity. (Score 1) 284

by quietwalker (#47255227) Attached to: Bill Gates To Stanford Grads: Don't (Only) Focus On Profit

I took some pains to speak in terms of potential as opposed to guaranteed impact; I did not claim that focus on either profit or social causes would itself deny or develop social change, only that there's higher potential in one place than another. A generality, if you will.

As for Gandhi as the, he was born into privilege - his father and grandfather had been prime minister of their state - and even as the third son, was sent to England for education as a lawyer. He ended up working in the much less lucrative position of a legal aide doing drafting work because could indulge the luxury that he was "psychologically unable to cross-question witnesses," which would have been necessary as a barrister. Then it was 21 years in South Africa working for a trading firm before he returned to become what we know as the public face of the Indian independence movement.

Look, there's no doubt that he was a great person, and that he did great things. The fact that he had such a comfortable launching pad from which to achieve this doesn't detract from his accomplishments, but you ought to recognize that he had an increased potential to do so because he didn't have to worry about other aspects of his life, like where his next meal was coming from, or whether he had to maintain gainful employment. Since all his needs were met, he was able to focus on his ideals, and fight for rights and freedoms.

All of that just underscores my point. It's easier to be rich and charitable than to be needy and charitable.

Comment: A truism: Profit is more valuable than charity. (Score 4, Insightful) 284

by quietwalker (#47250965) Attached to: Bill Gates To Stanford Grads: Don't (Only) Focus On Profit

Aside from the literal connotations, profit is potentially more valuable than charity to charitable work itself.

Let's say you want to help decrease the spread of disease in africa. You can get the necessary training, go to africa, and along with thousands of others, actually DO that, and you'll have an obvious impact.

Or, like the folks he's talking to, you could go to a prestigious college, get a fancy degree, and potentially land a job that can pay for 3 or 4 people to perform the duties of the charitable worker above, while still maintaining a very comfortable lifestyle. You could even end up higher in a profitable company, where you direct millions of dollars to aid programs just for tax breaks, if not altruism.

So it's a problem to encourage new grads to focus on charity. They are at the peak of their earning potential, and no matter how you look at it, focusing on altruism is a quick way to retard their ability to make potentially world-changing decisions later, when their potential has been realized.

The view most cultures have for this sort of work is very odd. I think Dan Pallotta spells it out in his TED talk about how we think about charities. We often direct involvement and financial sacrifice as the only acceptable path to social gains.

Comment: I have a recursive quandry (Score 1) 325

by quietwalker (#47181411) Attached to: Fixing the Humanities Ph.D.

If the primary application of a specific education is to provide that specific education to the next group of people who will be providing that specific education, doesn't that strongly imply that it's not a very necessary area of expertise to have, and in turn, you should NOT have many jobs because they provide no benefit?

What is the end goal of getting an education that you only spend on furthering education? Specifically in the humanities fields where, often enough, the majority of obvious career options are in education, where you educate people so that they, one day, may also only apply their education to the field of education, and so on?

Comment: No net positive gain. (Score 1) 1040

by quietwalker (#47154411) Attached to: Seattle Approves $15 Per Hour Minimum Wage

Did you know that we actually have done economic studies that show the impact of raising the minimum wage, and how little it actually helps the impoverished? According to a study published in the Southern Economic Journal in 2010, raising the federal minimum wage from then $7.25 to $9.50 would only benefit11.3% of those living in poverty, if you ignore any possible negative repercussions. However, coupled with negative employment effects, the conclusion is that it'd be a net loss.

I haven't seen a study yet that looked at raising the rates over 100% to $15, but I suspect that'd it'll end up even worse.

One of the concerns is that new unskilled workers - high schoolers and college kids - will be disproportionally targeted. After all, if your employment costs double, you can't risk someone with no proven work history when there's older, experienced individuals with responsibilities who can't afford to mess up a job around.

Another impact is that non-national chain stores will be severely impacted. Sole proprietorships - the Ma and Pa stores of mythical Main Street USA - will take great hits. These businesses usually lack the flexibility to provide employment as a loss-leader, and often don't have the option of doubling their employment budget. They'll have to make do with less, or simply not operate as a business.

So where's the fix?

What a lot of this comes down to is what I feel is an incorrect assumption; that minimum wage jobs are life-long careers, and that we intend for someone to work as an unskilled laborer for their entire life. The Brookings institute did a study/a - which does not prove causation, you know the drill - that showed that if a person could graduate highschool, get a full time job, and avoid marriage until after 21, they had only a 2% chance of living below the poverty line. In other words, analyzing the current population, that 15-20% that are living below the poverty line, 98% of them did not do at least one of those things.

There's heavy selection bias here, where the lifestyles that lead to success may coincidentally include these 3 goals, but that's part of the point.

We need to focus on education and long term planning - especially financial - and encourage a strong work ethic. Reducing the ability for highschool-aged folks to get jobs is almost the direct opposite direction. We need to focus on providing a path to skilled labor, blue or white collar, and realize that unskilled labor is primarily the domain of those just entering the workforce, not someone who's been in it for years.

Comment: You should know enough to be able to debug (Score 2) 466

I have fielded this question a number of times.

Right now, the job market for developers is not very discriminatory. They'll take anyone they can. That means your barrier for entry is low. That being said, I've done a bit more research, and I can say that the most lucrative and mobile entry level development job you can land is probably web application developer. Not designer, but rather, someone who makes a web-based application 'go'.

With that in mind, you'll need the following skills: SQL, HTML, CSS, Javascript (jQuery specifically, but other libraries are good), and a backing language - probably Java or C#/ASP.NET. You'll also need to become familiar with your web execution framework - Tomcat is big in the Java world, and naturally IIS is used in the .NET world. Luckily for you, there are many resources to learn all these things absolutely free of charge, with huge communities of volunteers helping each other out. So, what level do you need these skills at?

Well, as a new hire - regardless of your skill level - you're unlikely to be given a new project to start on. Likely, your first few months are going to be a combination of learning your company's domain knowledge (like finances or autos, or whatever), and tackling bug fixes and/or feature enhancements. For that you'll need to understand how the programs work so that you can source problems. You'll have to be familiar with IDE's and the debugging capabilities - especially learning how to setup and debug web based programs on your local system, as well as remote debugging. You're going to have to be able to read code well enough that you can translate most of it into english in your head - without having to go line by line until you have to dig down that deep. That means recognizing structures and flow easily (which is why I also recommend you avoid ruby on rails and spring - and maybe even hibernate/nhibernate until you've learned more).

You're also going to need to know enough about a development environment to know how to ask an intelligent question about it. There's a world of difference between "I can't get it to work," and something like "I tried increasing the max heap size, but I'm still getting an out of memory error each time I execute a prepared statement after the first call." See here: http://www.catb.org/esr/faqs/s... . One important quote to take away from this: "What we are, unapologetically, is hostile to people who seem to be unwilling to think or to do their own homework before asking questions." That faq will help you get past the newbie phase without giving up.

So, an unasked followup question, how long will it take to get there? Well, hour-by-hour, you can compress the entirety of a CS degree program into 4 months of 8 hours, 5 days a week, but you won't need all that. I'm going to say that to get there, to really be employable, worst case it'll take about 250 hours of study total. If you take it at a light pace, about 10 hours a week, you should be ready in 6 months.

With today's environment, I wouldn't be at all surprised if you halved that and still got a job, but I would feel bad for suggesting that was an adequate amount of study and practice.

One last important thing that I've only touched on indirectly; you absolutely must learn how to teach yourself. New libraries and frameworks come out every day, and the flavor of the month changes at a rapid pace. At some point, you'll realize that all languages do more or less the same thing, they just have different syntactical sugar, or internal constructs that make a given task easier or harder, sometimes even between versions of the same language. You need to be able to stay on top of those changes, while googling or asking for solutions to odd problems or configuration errors.

Comment: That's a squirrley definition of free speech. (Score 5, Insightful) 284

by quietwalker (#46940137) Attached to: Russia Quietly Passes Anti-Blogger Law

In the US, free speech is a blacklist-based phenomenon. There's a few things that are illegal to say - like 'Fire' in the theater - for example. If it's not listed, it's probably fair game, and you can't be jailed for it. Thus; westboro baptists and illinois nazis.

In many places in the world, it seems like the definition of free speech refers to the fact that there's a government-approved whitelist - here are the things you are allowed to talk about/say, anything not on the list are disallowed and legal offenses. Anything that's not explicitly on the list (and often times, even if it is) is subject to prosecutions. Heck, it's standard in these places to claim that opposing political parties are, by their language alone, seditionists, and have them locked up. In part, this is why there's outrage against the US that we allow hate speech and open protest; in other countries, that requires a mandate by the government, explicit approval.

Even in western, supposedly enlightened countries, there are onerous restrictions; check out slander laws in England, Germany's stance on anything Nazi-related, or France's many, many restrictions - for example, it's illegal to criticize a public employee (though I have no idea if it's actually enforced).

Calling this 'free speech' is like calling tax laws in the US 'voluntary taxes'.

What we're describing here is not a "tightening grip on free speech". It's just "additional regulations" on a locked down system where participating is the exception, not the rule. The only thing free about it is that one is "free" to follow all the rules, or shut up.

"A mind is a terrible thing to have leaking out your ears." -- The League of Sadistic Telepaths

Working...