Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Messaging problem hiding as a whiteboard problem (Score 4, Interesting) 164

The problem you're having isn't a whiteboard issue. It's not technology. It's that you're only getting half the message.

You may not be aware of it, but person-to-person communication is extremely high bandwidth. It's so high that we rarely even recognize the component parts of it, and only come up with little more than a mux generalization, like "they're angry" or "they're unsure". Our minds look at someone's stance and posture, at the speed they're blinking, where their eyes are looking, whether or not there's a nearly imperceptible pause when they're about to say certain words, subconscious muscle tics, and so on, and it passes through this great big neural net and some sort of amazing transformation happens and we get discrete knowledge out the other end. What's more, what they're doing is always going to partially be a response to what we're doing; we're providing real time feedback and both of us are adjusting ourselves accordingly. We're so good at it, that about 5 words into an introduction, we can usually tell if someone likes us or not.

On the other hand, a digital whiteboard, even with audio and video, we can't attempt to get this nuance or the feedback response that a person-to-person meeting allows. There's no way to send that much information successfully.

That's why no digital whiteboard will ever beat the real thing. Because these solutions do not allow you to see each varied nuance and react to them, and allow the other parties to do the same in turn. That's why a person-to-person meeting takes 5 minutes to cover what would go 30 minutes in a phone call. Or why video calls always seem to take far more time than you've allocated. That's why all those business types are always doing face to face meetings and ignoring 90% of our technical advances down here in the trenches of engineering, where we're trying not only to solve a problem with technology poorly, but we're not even aware of what the problem actually is.

Let me sum it up for you; there is no technological replacement that comes close to the clarity and efficiency possible - and likely - in a face to face.

Comment There's no battle (Score 2) 319

Every few years, we have a new latest and greatest. A few years ago it was ruby on rails, then it seemed python was starting to come into it's own, and now it's node.js. At one point in time, in the mid 90's, it was actually Java. If you can imagine, Applets were actually a big deal.

Programmers flock to these in droves because, being new(ish), it attracts proselytizers who overhyper and oversell it, authors to write about it, articles about it, speakers to present it, a race to be seen as an expert in it, etc. New means 'new opportunities' so there's a rush to fill this hole that's already been filled in other languages/frameworks. Lots of activity.

All this attention, and it being new makes it a toy to play with and something to trick the boss into agreeing to use, so you have an excuse to use it. Some small number of folks will end up dealing with it for a bit, but then they drop it when something newer - and thus more interesting and exciting - comes out. Check out the TIOBE index for what's happened to Ruby lately.

But here's the real reason this isn't a battle. Java was not a language, it was a product. Every part of it was made to sell - not to developers, specifically - but to businesses. Here is an end-to-end solution, with certification, a training program, literature, professional advocates that will travel to conferences, your company, programming competitions, and local java users groups - in fact, they'll sponsor them. They'll pay for flashy commercials, and take out ads in trade magazines, and get companies to include the java logo on their software. They'll provide support contracts and expert help, and they'll push Java as a brand.

It's not a toy. It doesn't stick because it's cool and new and neat, it sticks because now there's money behind it and it's cheaper not to change much. That's why we still have Cobol around, isn't it?

So, Java's already been sold to the big dogs, the guys with money who make decisions. It's embedded into the corporate hierarchy, and outside of a few side projects and startups, it's not competing with Node.js at all. Node.js will make it's splash, and in 2 years, we'll all be jazzed about something else, while the cobal, c, c#, java, and other legacy frameworks just keep chugging along with the majority shares.

Comment You think that's what they meant? (Score 1) 392

They've already been breaking into homes, businesses, embassies, and so on. Ethically, stealing information is stealing information - the only difference here is in level of effort in both acquiring and sifting through it.

Don't you think they're implying that they will black-hood disappear you, and then beat you with sticks until you provide the information they want? That seems like an obviously ethically 'worse' situation.

Comment Re:How about No Language (Score 2) 648

My first CS in college was like this. The teacher was very high and mighty into the theory. Pure academic.

"Computer Science," he said, "does not require computers." "When I wrote my first program, it was with pen and paper, and that's all you'll ever need."

So we ended up learning the same way, an introductory computer course where the first half was lambda calculus & church encoding, and the second half was functional programming with APL using an onscreen keyboard emulator since half the keys don't exist on a normal keyboard.

It was a crappy way to learn, and I'm sure it did it's job to weed out half of the 300 or so students that had to take it their freshman year. In fact the only thing I really learned is that just because someone has a huge body of knowledge, it in no way qualifies them to be a teacher, much less a competent teacher.

Comment Re:Pascal (Score 1) 648

GOTO is not immediately bad. It's simply a warning that the code might not be well organized, as language constructs already provide that functionality in more encapsulated forms.

You've been coding for 30 years, so you've seen the OO folks pop up and yell and screech that without an explicit (sometimes they use the phrase 'pure', but rarely) OO language, coding can't be done at all! Like, how could you organize with only dumb structs and functions? Java really ruined a lot of people in that aspect, making design patterns a required part of their certification without explaining that they're just communication shorthand, as opposed to say, required, explicit class names. I occasionally have to fight someone with "pattern prejudice," like this, and it's always an uphill battle combating ignorance.

GOTO is just like that, only with folks using the slightly higher level languages screeching at those coming from assembly, or those who didn't have to worry about reserving/jmping to high memory.

But what do they know? If a program can't rewrite it's own code, what good is it?

Comment Re:Javascript (Score 2) 648

The two top languages you should not learn by example are Javascript and PHP. In both cases, the low barrier to entry means that there's a wealth of code, but the average quality is extremely low.

Not only that, Javascript is a poorly understood language, even by those who spend a lot of time with it. You'll likely end up learning coding by ritual instead of understanding why it works - and more importantly, why when you do it, it doesn't. It's like trying to learn ruby by starting with an RoR app coded by people who think the framework is the only architectural decision that needs to be made. ... which is most of them, apparently.

Comment Re:Javascript (Score 1) 648

Javascript might be the next BASIC. "If you teach your students Javascript first, it will ruin them."

That being said, with a set of very rigid, predefined set of exercises and test environments, it could be one of the best for learning. Within a web browser, you have an incredibly simplified, easy to manipulate UI, putting it far ahead of any other language with graphical controls, and the immediate feedback from evaluating scripts means experimentation and discovery are built into the combined platform.

The problem, as I see it, is the functional aspects of the language. It's too big of a jump to have a new to-be-programmer learning functional programming before they've got a handle on writing programs that already mimic the procedural way they think.

So just avoid those aspects, and the other 98% of it that was badly done, and you've got a great choice.

Comment Re:This guy hasn't done his research. (Score 1) 648

In my experience, 'serious' mathematical crunching, people tend to use fortran. The array-based nature of it also makes parallelizing fairly straightforward. There are random popular libraries or frameworks that do some of what folks have had in fortran for decades, but they usually all fall flat when it comes to the heavy lifting, like SciPy, or has licensing or costs issues, like MATLAB.

On the other hand, I agree with you on prototyping in a scripting language. I used that technique myself many times, and it's great for proof of concept and initial architecture design. Also with scripting languages for general purpose code. Heck, I don't think I've updated my 'bundle of libraries I've written that I carry around to every job' in almost a decade. All that's built in to a scripting language already, or installable with a single command line directive.

Comment Re:could be fems average better at groups, men one (Score 1) 219

I wonder.

I read a study (that I can't find online) that compared sole owners of small businesses by gender, showing the standard male advantage in terms of profits and such, and then subdivided by motivations. One of the differences - cultural origin or not - was that men valued financial success greater than women, who preferred things such as flexible work hours, family priorities, and so on.

The surprise was that within these subdivisions, women generally outperformed men. Those who were most motivated by happiness - women were more happy. Those who wanted flexibility - women provided more flexibility. Most strikingly, for those who had financial success - women outperformed the men.

In a culture where we have a gender wage gap, it's hard to claim that women are culturally selected for when it comes to financial success, yet they beat the men. It could be application of cultural norms resulting in better communication, resulting in better success in any endeavors relying on interpersonal interaction, but along the backdrop of higher success rates for college, higher rates of advancement in management, and mirrored trends in other non-repressive countries, it forms part of a larger pattern that seems to strongly suggest that these are genetic differences, and that they have a significant impact.

Besides, we know from studying other primates that there are behavioral differences in genders, there's no reason to expect that we wouldn't have the same proclivities.

What's more interesting to me is that we're well into the transition between societies where stereotypical male traits (aggression, etc) are advantageous, and into one where other traits we could call stereotypically female (such as ability to communicate or emphasize) are becoming key. Perhaps we'll see western society flip these norms in the next 100 years or so? Let's just hope we don't end up wearing silly outfits like they did on Angel One (ST:TNG reference).

Comment Re:I have grown skeptical of these experiments. (Score 1) 219

I immediately considered the impact of this study on what we know about Agile development.

While I genuinely like the agile development concepts, I foresaw some fundamental problems with it. One of the major keystone values is a reliance on person-to-person and person-to-group communications. Something that, stereotypically, those in the software industry are not very keen on, and are rarely hired for.

If we believe this study, and deep interpersonal skills(*) are required to effectively leverage a team, it sure puts agile in a precarious position.

Perhaps this is why the current studies show that the current highly reliable best-performing methods appear to be a combination of waterfall and agile, providing a more concrete framework within which important interactions are explicitly structured, and not simply directed at a high level. When you have to rely on a tertiary set of skills for success, it makes sense to compensate for them as well as you can.

As a side note though, specialization is compatible with agile methodology. The dev team as a whole determines work effort, estimates, and how to complete a task. In general though, you'll likely have someone who's better at databases than others, or qa, or code, or is the domain knowledge expert. Tasks are organically sorted within the group, usually by the lines of efficiency. Not always though, just most of the time. So you can have a low-performing sprint if it's a task only suitable for a single individual. The group will still finish it as quickly as possible, and not any sooner.

(*) - I like how Neil Stephenson put it when regarding face-reading: "I don’t know how my face conveyed that information, or what kind of internal wiring in my grandmother’s mind enabled her to accomplish this incredible feat. To condense fact from the vapor of nuance."

Comment Re:No one 3D printed a house (Score 3, Informative) 98

What caught me was the claim that they printed it all in a day. Concrete of any quality quick-drying fast enough to sustain the weight of a whole building, vertically? Really?

No, of course not.

They're only talking about the walls, and they're making them off site. The same process is used for any prefab concrete structure. What upholds their claim that they're using 3-D printing comes in that they can make any combination of shapes quickly and easily, without the need for a custom mold or form. Instead of setting all that up, it's just computer controlled - thus the actual gain, an 80% reduction in labor.

As others have noted though, we only have the company's word that it's safe. It doesn't seem like it has an internal rebar framework, or anything to sufficiently replace it ...

Comment Re:Hmmm ... (Score 1) 208

Education policy is not the domain of those who understand education - it's decided by politicians at nearly every level. Everything from what will be taught, to the books we use, to the structure of classes and rating systems meant to produce specific results without any real understanding of how those results are achieved or the real impact of them. They also can't make radical leaps - anything that might fail would result in losing their position, so they stick to minor modifications to existing systems - so there's no disruptive changes possible, as per Ken Robinson[1].

All that while fighting through often biased or partisan processes that result in, for example, including religion and denouncing evolution in Texas schoolbooks. In fact, you can say that government run institutions are process-driven more than anything else.

On the other hand, businesses are results driven. A business that does not produce product will shortly cease to be a business. That mechanism lends itself well to tackling any problem, even if it often discards moral or ethical considerations as not being part of the problem scope. So while their primary focus is of course, profits rather than education, when education is a requirement for profits, they're both well situated and motivated to provide that.

They can even take risks, with the knowledge that success will reward them many times over. So new styles of education are realistically evaluated and considered.

That's the nice part about capitalism. We can rely on human greed and ingenuity to produce almost any result, so long as we're able to figure out how to make it a requirement for fiscal success, whereas the political systems are motivated to not take chances and not to rock the boat, while at the same time claiming to be a boat-rocker.

So yeah, there's some PR gain in there for those companies, but that's just icing on the cake compared to their main benefit from supporting or redefining education.

[1] - See http://www.ted.com/talks/ken_r... ,
                          http://www.ted.com/talks/sir_k... ,
                          http://www.ted.com/talks/ken_r... ,
                          http://www.ted.com/talks/ken_r...
              for some interesting thoughts on disrupting the existing educational systems.

Comment Re:what is this crap (Score 1) 208

I don't believe that lowering average programmer salary is either the sole or primary motivator for this trend, even for businesses alone, much less other groups.

Businesses need more developers, and they haven't got them. It's as simple as that. The focus on women is simply the most efficient way to do it since they're vastly underrepresented in the field - every dollar spent on encouraging women nets more potentials than on men. It's just good ROI. The fact that it's a social currency is just icing on the cake.

Educators can see that it requires about half as much effort to achieve the skills that will provide an entry level job at about twice the pay of similar white collar jobs; again, good ROI. Not only that, there's a wealth of freely available training material, literally thousands of hours of tutorials from simplistic to horrifically complex. Free online courses, making this available across cultural and social lines. There are people living in war zones that are learning to program!

Programming education is good political currency for politicians too. Businesses and constituents appreciate more jobs and skilled workers. Minority groups appreciate the inclusive nature and extra focus. The boost to the economy & the lowering of unemployment together make for a better tax base, and so on.

Last, the worker themselves get great benefits. A low-stress white collar job with good security, reasonable hours, decent benefits, high pay, and preferential treatment to minorities, all for very little actual training.

Really, there's almost no downside in the current social, political, or economic climate. Rather, what has confused me is why everyone isn't already learning to program. I don't know anyone who wants to make a career in any consistently low paying job, much less a blue collar one involving physical labor, yet so few appear to take advantage of the opportunities presented in the field of software development.

Slashdot Top Deals

Intel CPUs are not defective, they just act that way. -- Henry Spencer

Working...