Forgot your password?

typodupeerror

Comment: The only real argument against reviews is... (Score 1) 495

by unwesen (#36695414) Attached to: Are You Too Good For Code Reviews?

... time. And it is a good argument in many cases. Code reviews are great, but they make sense only if you provide good feedback from your review, and the original author has time to revisit their code and make changes according to the feedback. I've seen many work environments were such things were considered too expensive (in terms of time).

Carry-On Luggage with detachable Laptop Bag?->

Submitted by unwesen
unwesen writes "I'm going on more and more short business trips, and am sick of checking in luggage when a carry-on bag holds everything I need. That's also convenient, as some airlines do not allow you to carry an extra laptop bag. My current solution is less than ideal, though: I basically squash my laptop bag into a duffel bag of the right dimensions. Surely there must be a better solution? My ideal would be a fairly sturdy carry-on backpack or trolley with a detachable laptop case just large enough to hold a 15" laptop, a magazine or two and a few pens. My searches haven't led to much; I've found one or two potential candidates, but they all seem to have serious drawbacks. Surely I can't be alone amongst the /. crowd with my requirements; do you have any suggestions? There seems to be plenty of luggage with a laptop compartment, but you can't take that to the office on its own..."
Link to Original Source

Comment: Re:Big difference (Score 1) 1486

by unwesen (#35747190) Attached to: Is Science Just a Matter of Faith?

And how does it relate to the topic that people have faith in some things, but take a scientific approach to trying to understand others? The two are not mutually exclusive. It's not even mutually exclusive that they apply both approaches to the same thing at different times.

Trying to understand science in relation to individual faith is non-sensical; science works at the scope of humanity as a whole. Many individuals being able to double-check many other individual's claims, not one individual proving their own.

Comment: That post makes my brain hurt with it's stupidity (Score 2) 1486

by unwesen (#35746896) Attached to: Is Science Just a Matter of Faith?

Let's make it simple why: Science is not what scientific disciplines have found out. Science is a set of methods to further human knowledge.

To confuse the two is to misunderstand science so thoroughly that it pains me.

More precisely, science is a set of tools to guard against our individual fallacies (such as blind faith) contaminating the species' body of knowledge, by enabling each and every person to apply these tools and validate or disprove every piece of knowledge in existence. In other words, it doesn't bloody matter if you, the individual, believe in the tooth fairy when you can prove P != NP. Nor does it matter when you, the individual, don't even know what there is to prove, what the problem is. What matters is that someone else can verify or disprove either your proof of P != NP, or your belief in the tooth fairy. Or both.

To be fair, it's terrifying how people will take on an "expert's opinion" on blind faith. The answer to that problem, though, is to teach scientific process, so that people can make better choices in what to believe. The answer most certainly is not to suggest that science is little more than faith in a different set of beliefs.

Comment: Re:Please enlighten me... (Score 1) 755

by unwesen (#35637194) Attached to: CMU Eliminates Object Oriented Programming For Freshman

Apologies accepted, and my apologies to you. In my experience, trolls wouldn't reply to to this sort of bait, I must have been wrong.

I don't know what sort of point I was supposed to have missed, really, given that I started this sub-thread with an example; if anything - and yes, I'm nitpicking now - everyone else in this sub-thread is missing my point, pretty much by definition.

So let's get back to the point I was trying to make: efficient techniques for parallel programming are all about how you subdivide your data. This is completely language-independent. For a totally high-level approach to subdividing data (mostly) efficiently, look to MapReduce.

What you would do with MapReduce in a simple case on a single multi-core machine would be to divide your data set into N segments, where N is the number of threads you want to run in parallel. Take MapReduce to the level of networked machines, and the concept remains the same, except that you've got M machines to each process a chunk of the overall data (and maybe in addition, on each machine, you further subdivide the data into N segments).

The problem with talking about MapReduce in this context is that at this high level of abstraction, you might as well use OOP, too. It's a good example for illustrating the data partitioning problems that exist around writing parallel code, but not a good example for how OOP might stand in the way of efficient parallel execution.

I figured the best example would be one that takes the subdivision problem to the lowest level, which invariably means breaking down the problem to how efficiently a CPU's cache protocol handles data, based on how it's subdivided in memory. Using C++-ish code as an example made sense, as C++ is a language where you *can* influence the data layout, and where you *can* lay out data in a fashion that's typical to OOP.

As far as I am concerned, OOP is inherently great at a number of things, and at first glance none of them impact parallelism in any way. All of these things - encapsulation, access control, inheritance, etc. - have a side-effect, though, because the very concept requires you to lump data together that's conceptually related, whether or not it's used together (You might feel like rephrasing that as "the very concept IS to lump data together", but that would ignore some OOP features). In that sense, OOP is inherently about preferring some data layout in memory over another, whether you think about it in that way or not.

The downside of this data layout is that it makes it harder to split one set of relevant data off from another, that is, it makes *efficient* subdivision more difficult. Whether or not that's the case of course depends on the problem you're trying to solve; the assumption must be that you want to solve a problem involving one subset of your objects' data members in parallel to another problem involving a disjoint subset of data members.

You're arguing that whether or not data is, in fact, laid out in memory in a "bad" way is dependent on the language or compiler. To the degree where we're speaking about C or C++, that's just not the case - but of course clever enough compilers for other OOP languages might exist. This is something I doubt, though I would love to be proven wrong, with code to read. The reason I doubt it is primarily because it's pretty damn hard without marking your data as "please parallelize", which none of the programming languages I know/use provide a (portable, standardized) mechanism for. Never mind whether they're OOP. Someone mentioned Haskell here; I don't know the language well enough to know whether or not such a mechanism exists.

Does this explain things better?

Comment: Re:This is just about as dumb... (Score 1) 755

by unwesen (#35636876) Attached to: CMU Eliminates Object Oriented Programming For Freshman

Look elsewhere in the comments, there's a longer thread where I've commented :)

I'm neither opposed nor in favour of dropping OOP, personally. As far as I am concerned, a good CS graduate must know OOP. A good software engineer must know OOP. But whether or not they *start* with OOP is an entirely different question... because to be good, they also must know a lot of other stuff, which will include other programming paradigms.

What's dumb to me is to drop OOP completely. The principles of OOP can be taught to someone who understands programming in a matter of a few lessons. They won't come out of that being *good* at OOD/OOP, but they'll understand what it is. You can build on that in a sophomore course, much like CMU suggests.

Besides, the "being good" part happens after formal education anyway...

Comment: Re:Please enlighten me... (Score 1) 755

by unwesen (#35634102) Attached to: CMU Eliminates Object Oriented Programming For Freshman

I think you're trying to impress all of us with your supposed in-depth knowledge about processors' architecture. I'm still waiting to be impressed.

And I considered for a moment to actually try and clear any misconceptions expressed in your latest comment, and then realized that you're not actually interested. You're just a troll.

No man is an island, but some of us are long peninsulas.

Working...