Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Comment Re:C/C++ faster but produces more bugs (Score 1) 670

Modern C++ is coded with smart pointers and the STL, which resolves both of the issues you mention. Yes there is a small performance penalty to pay, but profiling will reveal if these have any real impact. If so, the pointers can nude up to optimize the hot-path, something you just can't do outside of C++. To me, this is the power. I can be safe by default, and C or even asm, if I need to. Overkill on non performance critical projects, but the best tool for the job when it is. C++, the big ugly Swiss army knife.

Comment Re:Java is fast (Score 1) 670

For me it doesn't matter which language is faster, I'm using the one that solves my problem the fastest (e.g. shippable product fastest) and right now, Java is the main player for me.

I don't agree with this statement. C++ may have a higher cost in training (I.e. the amount of time to reach high capability), and you may need to use a third party library such as BOOST to avoid re-writing some fundamentals (depending on what you're doing), but I see no reason why C++ takes any longer. At my work, we are a C#, C and C++ shop. The right tool is used for the right job, and C/C++ code takes no longer to write, nor has greater bugs.

Also, since our CPUs aren't getting any faster, we need to use languages that makes threading easier the safest way and on that topic, Java is miles ahead of C++. (Java used to have an utterly broken threading model, but these days it works [tm]).

C++ defines no threading model, and I'd suggest that Java out of box is also inadequate. .Net with parallels is the first with a general pratical model, that doesn't require enormous amounts of effort to acheive the equivalent of a single threaded performance. My point is that in the present day you are basically required to write your own asynchronous task based model that is capable of scheduling across multiple cores. Threads alone just don't cut it, and once youve written your task based asnychronous framework, you can reuse it to your hearts content (such as .Nets parralles).

Comment Re:Factory farming should stop, really (Score 1) 298

Well, it looks like I got a bunch of things wrong. First of all, it's not GM in general that was the issue with regards to regulation, but rather foods modified via a bacteriophage or virus not being classed as GM and hence not being regulated or tested in the same way. The person I mentioned was not against genetically modifying plants, she just had a strong conviction that the current safe guards and regulation were inadequate in regards to this modification vector (and I guess in my mind I conflated a specific issue as being a more general one). Yeah so... whoops, just another ignorant software guy mouthing off.

I think it is very important that your voice is part of this discussion as you have first hand knowledge and are presenting a view that will otherwise be drowned in a sea of "GM is bad" posts. My sister has subsequently given me a great deal more information on this topic (she has a gift for explaining the science to an ignorant layperson such as myself), so I think I now understand a bit more.

On the patenting side, no mention of patenting of genes was made, and I don't believe genes are currently patentable in Australia (a quick google suggests some big decisions are pending). The impression that I have been given, though, is that the scientists are often at odds with industry on this issue, and large pressure is being brought to bear from US corporate interests.

Comment Re:Factory farming should stop, really (Score 1) 298

I am a software deveolper, my ignorance on all things biological is indeed profound. However the person I was talking to was indeed a plant molecular biologist, a professor at one of australias leading research universities. I simply regaled the information as best as I understood it, undoubtedly adding the bias of the originator, and a little of my own. I may have some of the facts a little off, but I know I got the gist.

You seem to have a wealth of information on the topic. In the interests of transparency, would you care to tell me if I am conversing with someone from academia or someone actually working to create such products? If from academia, can you explain why this person is so concerned? Is she simply the one lone loony plant molecular biologist? (actually my sister is doing her PhD in plant molecular biology, and I'm pretty sure she endorsed these concerns as well. Perhaps the lone two? Maybe it's only women?).

Comment Re:Trouble (Score 1) 298

We're running out of antibiotics that there aren't any bugs resistant to, and no new ones are in development because the pharmaceuticals don't see any profit in it.[*]

Wrong! My little sister is doing her PHD in trying to find new types of antibiotics. Trust me, there is a fortune to be made (not for her). The problem, and the thing that is truely scary, is that these bugs are now resistant to entire classes of antibiotics. This means that the vast vast majority of new antibiotics are already useless. So yeah, at the moment we are stairing down the barrel of a future without being able to treat infection, unless we can stop this shit AND come up with an entire new class of antibiotics. It's too late for this lot. Wish my sister success.

Comment Re:Factory farming should stop, really (Score 1) 298

I have no problems at all with genetically modified foods. I consider opposition to them as crazy hippy bullshit and Id consider myself very liberal.

You're either ignorant or an idiot. I'm thinking probably idiot, but let's assume ignorance for the sake of argument.

It is not "hippies" who have an issue with genetically modified produce (what is a hippie in this day and age anyway?). The argument as put to me by a molecular biologist is as follows. Take a plant, such as wheat, splice in a gene for it to express a new chemical that acts as a pesticide (warning! Massive simplification). Patent and profit. Instead of growing wheat and applying pesticide, the pesticide is now a part of the plant. Of course if you're going to create a new pesticide, there is a mass of pesky regulation requiring stringent testing etc etc. Not so for our new gentically modified plant! The regulation lags the science. See, this is not the same as species cultivation, in this case we are splicing in completely foreign genes to produce completely impossible (from nature), results. And if we're going to do this, we need to do a good deal of testing to make sure it's safe. Even more than normal, because we don't just spray the chemical on the top, it's an integral part of the plant. Because there is very little to no regulation, less testing is done. Worse, cross-contamination means that if these guys screw up in a big way, it's going to be nigh impossible to ever get it out of our crops. So yeah, treading carefully would be smart. Of course, big companies don't need to be smart, they can just use the profits to buy their way out of trouble.

Comment Re:Security through obscurity (Score 1) 104

...Properly designed setups will have an air-gap...

Very very few industrial site have the "air-gap" any more. I suppose all the rest are improperly designed?

Real-time's desirable- but for some networks, having the hole's too much of a risk- .

For whom is it too much of a risk? Power stations? Mines? Water Treatment? None of the sites I work with have an air-gap any more.

especially if you've got a Windows based HMI system or similar in the mix. Seriously.

I'd say that the vast majority of SCADA/HMI systems run on Windows. In critical infrastructure. Without an air gap.

I sure as hell hope there are other ways of securing a network

Comment Re:data storage? (Score 4, Interesting) 98

It's all well and good having super fast transmission capabilities but do we have anything that can process/store data as quickly? It's an honest question as I've always been lead to believe that data storage is the bottleneck.

Infrastructure is where this is important. There are these extremely expensive cables made of glass under the ocean connecting various land masses. It's extremely convenient to be able to upgrade the boxes at either end instead of laying more tubes (*warning* simplification!). You don't need to store the data (at least not in one box), you just need to switch it. This is why fiber is so awesome; people just keep on discovering new ways to jam more down those pipes!

Comment Re:A reasonable stance (Score 3, Insightful) 360

I think you would find Kohlberg's stages of moral development an interesting read. In essence, most people are at Stage 4, which essentially is "belief in authority". Unfortunately, there are as many Stage 2 "I'm just in it for myself" arseholes as there are Stage 5 and Stage 6 "Only the just laws should be obeyed" enlightened thinkers. We need more people to level up.

Comment Re:Not going to happen (Score 2) 104

I think the research environment is fundamentally different from a commercial environment. In many software projects the requirements are continually changing. This is not a result of poor planning by the people requesting the software, but rather the desire to take best advantage of new scientific information as it becomes available. The resulting informal code development is very efficient for the project, but produces code that is difficult to transport to other projects.

Your situation is not different to many commercial environments. In fact, this is one of the largest problems in software development (notice I use the word development, not engineering). There are ways to write quality, flexible, extendible, maintainable programs in these environments, but it is much harder. I'm not talking out of my arse here, I've been in this game for many years now, and have seen approaches that work, and ones that fail. If the resultant program is truly "use once, then throw away", then continue as you are. If you find that you want to build on it later, or give it to others, then there are existing techniques that can assist. The smart approach is to add some of these ideas that look as though they would help, one at a time, and only keeping them if they help. Your right when you say that your environment is "fundamentally different", my experience has been that everyone's situation is unique, but there are certain tools, techniques, and strategies that pre-exist, and may save you time if you spend a little time investigating whether they're right for your environment.

Comment Re:Not going to happen (Score 1) 104

Every work-based situation is unique. I obviously shouldn't have used the term 'agile' as it has become a polluted by XP evangelists and so on in the past. Pragmatism would suggest that you look at what you are doing and work on improving the processes to allow you more structured control of your 'agility'. Normally in the software world we are trying to do the reverse, go from a rigid inflexible system to one that is more 'flexible' (and again, this is achieved only by looking at all processes and improving them one by one, with greater agility as the end goal. Forget the hype). In this case the situation is reversed; there is plenty of agility, but low quality, Fortunately, many of the techniques that have been developed to enhance 'agility' in software development are applicable in these situations as well. I refer to Test Driven Development (which is a simple technique that many of us employed long before it was formalized, it's just little test programs basically), different design patterns that allow easily changing things without having to re-write everything (inversion of control is great here, because it solves the spaghetti wiring problem), and dividing work into chunks (iterations just help keep you focused on the goals, and asks you review your processes regularly. It's a feedback loop looking at how your working, that's all). This stuff is all light weight, and will not slow you down, just help with some of the problems. You should always be looking at how you work with an eye to improving.

Comment Re:Not going to happen (Score 1) 104

Agile is just a big catch all word that has lost all meaning. Let's say "not waterfall". Whatever you thought I meant is irrelevant, but the fact remains that "rapid prototyping" is all these guys are doing. This is not a unique situation. I used the term 'agile' to indicate that there are a range of processes and development techniques, that have come about to help improve speed and quality in these situations (and they happen to fall under the umbrella of 'agile'). If your work involves regular creation of software, it would be smart to get familiar with these techniques.

Comment Re:Not going to happen (Score 1) 104

How this was modded up in a place like /. astoundes me. Let me address your points one by one.

Not only that most researchers are not proficient in programming language, they shape their codes more like prototypes so that they can modify the codes easily as the science progress.

News flash! Everyone who is writing software that is "new" is "prototyping". This is not a new problem, this is why we have design patterns and TDD.

Conventional programmers will be frustrated with this approach since they want every single spec set in stone

I take it you know very few programmers, maybe at IBM? Managers want "specs", many of us developers want to work on something interesting. If there were all these lovely specs set out in stone, it wouldn't be much of a challenge now would it?

...will never happen in research setting since research progresses very rapidly and specs can change dramatically in most cases

Hey! That sounds just like the software world! Look up "agile software development".

If you can set the spec in stone, it is usually a sign that the field has matured and is getting transitioned to engineering-type problems. Once the transition happens, it's no longer research, it's engineering. Then you can "make the code better"

Mistakenly thinking that software development was engineering is what has caused more than one company to fail. Software development is team based creative problem solving. Waterfall is dead for a reason. Still, there are ways to rapidly prototype while creating high quailty easily adapted code. This is what all modern software development techniques are about. Your problems are nothing special, you're just ignorant of the solutions.

Comment Re:Not going to happen (Score 0) 104

Does "agile" software development allow scrapping 100% of the code and radically change the spec (and thereby everything else) every about 6 months just because of new scientific publication?

Yes! Every iteration (month) you can throw the whole lot away and start again. You won't though, because there are always certain building blocks you can re-use.

If we take time to "structure" our code, before we know it, we have to redo it all over again. ... So, we really don't have incentives to "beautify" the code.

I see these arguments in all kinds of contexts. All it is excuses for poor work. The funny thing is that doing things 'right' the first time generally ends up taking less time overall. I wonder how much time you waste fixing broken code, or mistaken logic? Getting two hacks to work together? Perhaps if you stopped cutting corners constantly, you would learn some of the techniques that make rapidly changing prototyping, quick and painless. Nobody has time to "beautify" their code, but you are making the age old mistake of assuming your circumstance is "unique", and forgetting to learn from others. Your circumstance is not unique, you are essentially doing what any start-up/web based company would do code wise. You need techniques like TDD, patterns such as 'inversion of control', and agile methodologies. That's if you wanted to go faster and have reliable code. It would require you to consider that you could do things better, and others may have something to teach. It might require you admit that you could be wrong...

Comment Star Harvest (Score 1) 343

We are so far away, that it's pretty unlikely that we would see anything small. So let's make a few assumptions and extrapolate to the absurd.

1) Intelligent life is fairly common.

2) We are somewhere in the middle of the bell curve advancement wise.

3) Really advanced races harvest stars for their energy and matter.

Thus, all we need to do is look for stars disappearing in an orderly fashion, and we've got the proof (and then we should hope like heck they don't stumble across our solar system with its moist chewy centre)

Slashdot Top Deals

Were there fewer fools, knaves would starve. - Anonymous

Working...