Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×

Comment Re:free... (Score 1) 272

You've said that the free lollipop given by a friend is free. Then you imply that the same exact lollipop transaction is no longer involving a "free" lollipop if your kid's friend stole it.

Free that requires unknowable knowledge of all previous owners of something before it's "gifted" to be able to determine whether it's free is a silly distinction.
Earth

Thanks To the Montreal Protocol, We Avoided Severe Ozone Depletion 141

hypnosec writes: Scientists say the ozone layer is in good shape thanks to the Montreal Protocol, which has helped us avoid severe ozone depletion. Research suggests that the Antarctic ozone hole would have been 40% bigger by now if not for the international treaty. "Our research confirms the importance of the Montreal Protocol and shows that we have already had real benefits. We knew that it would save us from large ozone loss 'in the future', but in fact we are already past the point when things would have become noticeably worse," lead author Professor Martyn Chipperfield, from the School of Earth & Environment at the University of Leeds, said in a press release.

Comment Re:Answer (Score 2) 336

*shudder* Are avionics really written in C++?

Yes, but only a subset of it. Things like exceptions aren't allowed.

Is memory deterministically pre-allocated in such systems? That would certainly make it safer, but less flexible.

Yes, that's the whole idea. They aren't meant to be flexible, they're meant to do exactly what they're designed to do and no more, in a completely deterministic fashion. These systems aren't all things with UIs, they include all kinds of systems on an aircraft, which frequently don't have any UI at all except maybe some switches. On a car, an ABS computer would be a good example of one of these systems. There's no display or UI or anything of the sort; you just plug it into the car, and it sits there monitoring wheelspeed and brake pressure and when it sees a wheel locking up it releases brake fluid pressure to that wheel (it's a bit more complex than that, esp. on cars with dynamic stability control and traction control where these are all tied into the ABS, but this is the general idea). A system like that doesn't need to free memory, it just needs to allocate what it needs when it powers up, and then run its program continuously, monitoring inputs and controlling outputs (implementing transfer functions etc). All the tasks it'll ever have to do are well-defined, and all start up when the system powers up, and all get a timeslice.

Comment Re:Answer (Score 1) 336

And you never run out or memory since you've got an infinite amount of it?

If you did things right, you never run out of memory because you've planned every allocation and you have enough for them all.

Minimizing memory allocation/deallocation is a must, sicne these are functions with unknown and unbounded latency

Right, that's why they allocate all the memory up front and never deallocate it.

Comment Re:free... (Score 1) 272

No, it doesn't. "Free" peanuts aren't free. "Free" AOL disks aren't free.

By the restrictive "no cost to anyone anywhere" definition, there's nothing free, so the word is meaningless. If the word is meaningless, then it shouldn't exist. As it does exist, the most common "no cost to the user" definition is the obvious one to use.

Comment Re:$70000 is poorest? (Score 1) 272

It's about $20k to get a setup that would let you plug in a panel, any panel. Building permits, the proper isolation, and all that. Then you can plug in panels for the cost of the panel plus mounting. But the pre-wiring to make the hardwired-mains solar ready is most of the cost (for me at least). Though I've seen the prices coming down on the hardware, the costs and delays getting permission to do it have gotten worse.

Comment Re:Already has (Score 1) 158

If you layer a guitar with enough delay, chorus, compression, tube distortion, tape saturation, EQ, and maybe some octave effects, even a rudimentary player is going to sound pretty killer.

Rubbish. I can strum about three chords from memory and six if I study them before playing.

The only way you could make me sound like Clapton, Page or Blackmore would be to erase all my shit and record them over the top.

Comment Re:What a guy (Score 2) 389

Perhaps the presidency changed him, or perhaps his campaign was a lie to co-opt the enthusiasm of the masses. I don't think we'll ever really know.

What a rube. Anyone who has more than one digit in their IQ knows the answer is the latter.

Well, there is that theory about newly-elected Obama being sat down and shown a video of the JFK assassination, from a completely different angle.

Comment Re:How to read f*ucked up code (Score 1) 336

I'm looking, right now, at a mountain of code, some 20+ classes, many with file-scope instantiations, every single fucking object a Qt object. The original developer noticed that the code for Qt-derived classes won't compile without a copy constructor so he very cleverly made empty copy constructors for all the classes so that even a shallow copy won't be performed. As expected, he also stores instances in containers - which means every now and then the program would give incorrect results with seemingly no predictable occurrences. It doesn't crash, mind, just gives incorrect answers.

Qt is an excellent library. I'm using it now on a personal project, and a lot of embedded systems use it. It sounds like the code you're looking at was written by someone completely incompetent. Qt does not need a copy constructor to compile a Qt-derived class. However, when you're doing a Qt project, usually most of your objects will be Qt objects. That's the whole idea: Qt is basically an extension to the language, and it's easier when you jump in and do everything the Qt way, including using Qt's containers and other base classes.

Comment Re:Answer (Score 2) 336

C++ is not C. C++ written like C tends to be crap code

You might want to avoid flying on commercial airliners then, because they have lots of avionics systems running C++ code exactly like that, with exceptions explicitly banned. Countless other embedded systems are the same way.

never, ever, worrying about cleaning up at the bottom of a function what you allocate at the top.

In these embedded systems, the "delete" keyword is also banned. You're never allowed to free memory once it's allocated.

Slashdot Top Deals

"It's the best thing since professional golfers on 'ludes." -- Rick Obidiah

Working...