Please create an account to participate in the Slashdot moderation system


Forgot your password?

Slashdot videos: Now with more Slashdot!

  • View

  • Discuss

  • Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).


Comment: He Is Right (Score 1) 318

by Puff_Of_Hot_Air (#49127353) Attached to: Use Astrology To Save Britain's Health System, Says MP
Astrology and Homoeopathy are both extremely effective, especially for difficult conditions such as mental health issues. Now sure, this is only due to the placebo effect, but doctors are pretty rubbish at exploiting the placebo and the placebo is extremely powerful! Something seems to prevent them from telling a patient nonsense that will make them believe they will get better and thus actually help them get better. Astrologists and Homoeopaths have no such issues, so this politician is completely correct that utilising astrologists and homoeopaths could help take the load of the NHS.

Comment: Re:So? (Score 1) 520

by Puff_Of_Hot_Air (#49093029) Attached to: Nim Programming Language Gaining Traction
A millisecond is something like 4million instructions, so "a few milliseconds" can be a lot of work. A heap allocation that took a few milliseconds would be a significant concern. Also i think there is some confusion about "hard real time". Hard realtime simply means that a particular action must occur within a certain maximum time or the system is deemed to have failed. It's not about speed so much, such systems are generally running slower, it's about determinism. However it is correct to assume such systems are allocating memory less frequently. I'm getting the impression that you seem convinced that a GC has no drawbacks, only foolish critics. My own experience does not bear that out. One can work around the issues by using pooling and other techniques to prevent collections; but fundamentally a GC has a different mode of operation that means it works poorly for large numbers of objects tied to a medium term lifespan, suh as that crossing an I/O operation.

Comment: Re:So? (Score 1) 520

by Puff_Of_Hot_Air (#49087055) Attached to: Nim Programming Language Gaining Traction
C++11 provides a new threading library which, don't get me wrong, I'm very happy about. I can finally write cross-platform thread related code without having to reach for boost or similar. However as with all languages (of which I am aware), that use threads, I can't simply look at a piece of code in isolation and determine if it is thread safe or not. There is no linkage between threads and data ownership. I still haven't had a chance to play with Rust, but what they claim is that all data is thread owned, so if you tried to write code that accessed the same variable from multiple threads it would not compile. The compiler catches the race conditions for you. Which sounds pretty good. Now in practise, you end up building fairly complicated abstractions on top of threads to avoid these kinds of issues (think tasks and contexts), so it'd need to be tried in anger to see if it made any real difference. Still it is very interesting and uniquely different.

Comment: Re:So? (Score 1) 520

by Puff_Of_Hot_Air (#49063425) Attached to: Nim Programming Language Gaining Traction

Depends what you mean by resolve. Rust does static checking that data is only owned by one thread at once. If you need shared state then you are back to manual memory management again, as far as I know (Rust is a rapidly moving target so anything I say today might be out of date tomorrow).

Just as an addendum: This is the feature that is missing from all current programming languages that I am familiar with, and the principle reason why threads suck as a general concept. I can't look at any data object and know it's thread ownership. I have to infer that by understanding the rest of the program. This is why we end up with elaborate task based libraries, wrapping threads in "contexts" and being careful not to cross boundaries. What Rust is doing here sounds awesome, but I'd need to try it on some real project to see if it's actually useful. Still I greatly appreciate your critique.

Comment: Re:So? (Score 1) 520

by Puff_Of_Hot_Air (#49063363) Attached to: Nim Programming Language Gaining Traction
I think we are talking about different use cases.

need a-few-milliseconds-or-less pause times

That may as well be an eternity in any hard real-time application, or various finance systems as an example. The point isn't that you can't use Java/.NET in many many applications, it's just that there is a reason why C++ is still necessary for certain situations. This Rust thing looks like a potentially better systems level language (or it want's to be); addressing a number of issues that no language in this same space currently does.

Comment: Re:So? (Score 1) 520

by Puff_Of_Hot_Air (#49062173) Attached to: Nim Programming Language Gaining Traction

I've never used Rust or even heard of it prior to this article, but your post here makes me hope that it gains mainstream acceptance. Modern Garbage Collectors are fine and work well in a large majority of uses cases but they fall down badly when the majority of your allocations are transitory objects of intermediate lifespan. Objects that last the length of the application run - fine, objects that are created and destroyed quickly - fine, objects that exist for the duration of an async I/O operation? Not fine. The GC becomes a scaleability bottleneck; the parallel processing eventually being throttled by that GC that can only run as a single thread (more or less). So systems that need high performance, large scalability and distributed networking etc are invariably written in C++. But in these C++ systems, ownership design is one of the most vexing issues and must be very carefully considered at all points, without any compiler support. The whole concept of threads and data ownership has exactly zero level built in conceptual support, and that sucks. It sounds as though Rust has been designed to resolve these issues for systems programmers. Which is a great idea.

Your argument here seems to imply that Rust is this great replacement for Java, and then argue why that make no sense. But it seems to me that Rust is really a great replacement for C++, and the kinds of systems that cannot suffer the burden of a GC.

Comment: Re:Are you trying to get legislation? (Score 1) 299

There should be appropriate laws.

Commercial drivers license: If you have a full drivers license and a GPS, what more actually functional skill do you need? What is the point of an additional drivers license?

Appropriate inspected vehicle: This is NSW so that is done every year. Frankly, the most poorly maintained vehicles seem to be Taxi's from my experience, so I don't think a special law is required here.

Insurance: Well that's a given, and from what I understand Uber provide their own insurance, so nothing more to do here

Now I do think that there should be additional regulation. Drivers should be required to pass a police check, not be a registered sex offender, and have a certain standard for their driving record. This would be fair and reasonable. Everything else is government wielding power for the sake of it or trying to protect entrenched interests ($500 000 license? All this extra red tape? For what? Taxis that cannot be found at 2 in the morning?). I fully support disruptive change to this industry, and I believe that it is completely moral for Uber to ignore an outdated legal framework to achieve this.

Comment: Re:poor summary (Score 1) 299

Wrong. The license fee is $500 000 odd. If they got rid of this and then said "but you must get a special drivers license and pass a police check" this would be appropriate. The point is that the laws need to change and Uber is trying to force that change. Which I agree with.

Comment: Re:Are you trying to get legislation? (Score 1) 299

This is exactly the point. Uber is operating outside of the law because the law in this case is retrograde and needs to be updated to allow for the disruptive effects of technology change. Taxi licenses need to be unlimited and much cheaper and available to anyone without them having to join the existing cartels. So yes, Uber is acting outside the existing legal framework to try and force change that will benefit everyone. (There still needs to be regulation here, but it needs to be based on modern realities). Now I've seen this kind of thing before; Napster comes to mind, and they didn't fair so well. But you can't erase a good idea from peoples minds, so change is inevitable, it's just a matter of how long. Uber might just have deep enough pockets to bring that change more quickly.

As a side note; I see nothing wrong with companies violating laws that are clearly wrong, in order to bring about change. The old US of A didn't seem to have a problem with this in their very early days either.

Comment: Re:a progressive new group (Score 1) 323

by Puff_Of_Hot_Air (#48653385) Attached to: Putting Time Out In Time Out: The Science of Discipline

No their not. There is an extremely loose reference to Mirror Neurons, and that's all the science you are going to get. The rest is anecdote and persuasive reasoning. Frankly it's crap. But why are we surprised? Anything like the development of the most complex structure we know of in the universe (the human brain), is not going to be an easy (do X + Y == Best Outcome For All Developing Brains). People have their ideas and then move on to pushing an idealogical agenda with all confidence. Maybe their right, maybe their wrong, but to call this "parenting based on science" is just flat out nonsense.

At the end is a bit of a reference to some ways of teaching kids based on some psychotherapy concepts. It looks pretty good to me. I try everything and keep what works.

If this is timesharing, give me my share right now.