Yes, even the summary seems to have no idea what OpenLR is for. It is not for sharing "routing data", nor is it for map sharing, and it's only tangentially related to GPS.
OpenLR is for sharing paths through a road network on very low-bandwidth channels. It comparable to RDS-TMC, which is used to communicate events such as roadblocks or traffic congestion over FM radio, except that OpenLR only seems to be concerned with describing locations themselves, not the events that are occurring at those locations. OpenLR assumes both the sender and receiver already have a complete road network with all necessary data and algorithms needed for routing.
It seems like a very niche technology; it's surprising to see it on the front page.
The same article also says "even though the late-2008 MacBook Pro 15 inch doesn't keep up in either colour accuracy or viewing angle with laptops from IBM/Lenovo, its display is still quite good and still falls on the right side of the line of acceptable display quality for field use by a working photographer, at least in ambient light that discourages reflections."
So apparently it's not "ambient light environments" that make this MacBook acceptable or not, but rather whether a particular instance of ambient light "induces" or "discourages" reflections.
This is one of the reasons Colemak and Asset were invented. Asset and Colemak both keep ZXCV and nearly all punctuation keys in the same place as Qwerty. This means that clipboard hotkeys don't need remapping, and the layouts are easier to learn for those that already know Qwerty.
(note: I designed Asset, but recommend Colemak because it is better maintained and promoted - I'm lazy.)
When I was young I occasionally suffered actual bullying--as in, with fists. Cyberbullying is a head-scratcher for me: how is it that saying mean things to someone is worse when done on the internet than when it is done face-to-face? Children say mean things to one another all the time and it seems to me that the adults don't do much about it until a fight comes to blows. Or to suicide.
That an adult would engage in cyberbullying is bizarre, and wrong, and I maybe there should be a law against it (how would you word this law?). But it's inappropriate to hold her responsible for the child's response, which no one would have predicted. If there is no law that properly applies to her behavior then the judge shouldn't instate a new legal theory just to provide a punishment in one case--not if the precedent could have serious chilling effects on many other people.
The MS STL looks like a mess. All identifiers begin with an underscore, braces are indented, some structure such as try blocks are not indented, and names are not especially descriptive (_Xlen, _Umove, _Alval?). Here's typical code from vector<T,Allocator>...
// TEMPLATE CLASS vector template<class _Ty, class _Ax> class vector : public _Vector_val<_Ty, _Ax> { // varying size array of values public: ... void reserve(size_type _Count) { // determine new minimum length of allocated storage if (max_size() < _Count) _Xlen(); // result too long else if (capacity() < _Count) { // not enough room, reallocate pointer _Ptr = this->_Alval.allocate(_Count);
I'd have to agree. Using instruction-by-instruction emulation, a C++ based SNES emulator I wrote around 1998 used at least 150Mhz of processing power to emulate the SNES' 3Mhz processor. When I rewrote it in assembly, it was 5-10 times faster. I expect that some pretty sophisticated techniques would be required to exceed a snail's pace when using Java for emulation, eg "dynamic recompilation": translating sections of x86 machine language to Java bytecode... but getting this to work 100% correctly would be pretty tricky.
If it's hard to get good emulation speed in C++, it's even harder in Java.
You're writing software for any chip, on any platform, that requires direct hardware level access, e.g. device drivers, boot code, or core-features. No machine, no matter how fast can be programmed exclusively in C. For example, in C you simply cannot a DCR on a PowerPC. You need a special instruction w/o a high-level language equivalent.
You're certainly right, but programming language extensions could get around these limitations. For instance, I think the PIC C compiler, which is not really standard C, has an extension that lets you write and install an interrupt service routine without any assembly. One could imagine such extensions for almost any hardware feature; it's just that compiler-writers rarely bother to offer such extensions.
Here are a few reasons you might need proficiency in assembly language:
You're writing software for a low-speed or low-memory chip for an embedded system (e.g. one of the PIC chips). Such chips are used either because they are cheap or because they need very little power. You can often program these chips in some variant of C, but if you need that last drop of performance, you use assembly.
You're writing a compiler. In this case you may not have to write assembly directly, but you'll have to understand it intimately in order to convert source code to machine language. (Replace "assembly" with "bytecode" or "IL", if making a Java or.NET compiler)
You are reverse-engineering closed-source software (another case where you must comprehend assembly)
You're designing or testing a computer chip, in which case you may have all sorts of tests cases written in assembly language.
You're maintaining an old "legacy" system that uses assembly.
You're writing an emulator for another computer, and you need high performance. In this case you may need to understand the assembly language of both the real and emulated machines, as I learned when I wrote a Super Nintendo emulator.
Those bastards make you study it in one of your college courses.
FTA: "We're either talking several decades or never," said Joseph Romm, an assistant energy secretary in the Clinton administration, referring to the likelihood of fuel cells' supplanting internal combustion engines in cars. Though Romm pushed for financing of hydrogen research in the mid-1990s, he has since become skeptical of its prospects, to the point that last year he published a book titled "The Hype About Hydrogen."
But what alternatives are there to fuel cells, when the oil runs out? Artificial petroleum, maybe?
The FCC need not be abolished; its policies just need to change drastically. Whatever you may think of the censorship policies, spectrum usage rules will always be needed. It should be noted that while some radio technology is becoming more sophisticated (so that it can tolerate interference better, spacially direct transmissions, and cooperate with other devices), we can expect that certain technologies (e.g. analog radio on emergency frequencies) will have good reason not to change, and thus might continue to need the kind of protection that the FCC provides. Also, protection against jamming, excessive power use, and bad receivers (and non-radio devices) that cause interference, are still good things.
It seems to me that the author of TFA has confused a lot of things. Open source per se is not a threat to established broadcasters, but many new technologies (both open and closed, hardware and software) are eliminating the need for the traditional broadcasting model.
> the author of this book is a quack... he has dispensed with (geometric) axioms
I have the impression that the geometric axioms in question have already been dispensed with -- it's just that calculus is needed to accomplish that. As one/.er mentioned, the operation of functions like sin() and atan() is a black box, which prevents a high-school student from understanding trig fully.
Rational Trigonometry's advantage is that there are no black-box functions; how it works can be readily seen by anyone who understands grade 12-level algebra. In other words: it involves no geometric axioms. Incidentally, it also makes it possible to solve trig problems without a calculator, but that might not appeal to some people.
So sines and cosines are nothing more than raising 2.718281828459045235360287471352662497757247093699 95 to an imaginary power? If only I'd known earlier! It makes trig so much simpler and clearer! Duh!
Yes, I downloaded Miguel_De_Icaza_-_Keynote.ogg and it crashes both Winamp and Windows Media Player. Even after installing that "ogg vorbis acm" thingie which I think was already installed anyway...
Media Player Classic opened the file but it seems to be 4 hours, 54 minutes and 32 seconds of silence.
Right as you may be, most C# programs don't use pointers, and if they do, the VM can detect it (it has to detect unsafe code such as pointer use in order to prohibit it from running in a web browser, for instance)
Re:Flaws in both Languages
on
Java 1.5 vs C#
·
· Score: 1
Microsoft also offers a virtual machine in the form of "rotor" for BSD and IIRC, MacOS X. The Mono and DotGNU projects offer.NET virtual machines for Linux.
Say what? Polymorphism != varargs. Varargs is for things like printf, fprintf, and, uh.... sprintf. Ahh, what a great field of possibilities it opens up!
It is certainly useful in some situations -- the Math class being the best example I can think of. The fact is, object orientation isn't a universal model of everything; some things, like algorithms, and even singletons, just don't have any need to be "objects". Static Import lets you drop that OO pretense.
In the case of Math, where's the bad style in writing Cos(x) instead of Math.Cos(x)?
Do you know how a CCD works? How about a CMOS? I suppose JPEG-2000 might be able to store raw data (e.g. for a RGGB mosiac, as a four channel image) but a new standard for all the necessary metadata would be required.
Also, besides being more complex, I understand that the compression algorithm in JPEG-2000 (based on wavelets) requires a lot more processing power than JPEG. IIRC, even the lossless mode uses wavelets, so that rules it out for most cameras.
Good idea, but wait... how did you know it would be in the first 250 digits?/:)
Anyway, since they're "tackling a lot of engineering challenges that may not actually be solvable", I should think they want an engineer or a mathematician (and maybe both in one?) and not just any UNIX geek.
Yes, even the summary seems to have no idea what OpenLR is for. It is not for sharing "routing data", nor is it for map sharing, and it's only tangentially related to GPS.
OpenLR is for sharing paths through a road network on very low-bandwidth channels. It comparable to RDS-TMC, which is used to communicate events such as roadblocks or traffic congestion over FM radio, except that OpenLR only seems to be concerned with describing locations themselves, not the events that are occurring at those locations. OpenLR assumes both the sender and receiver already have a complete road network with all necessary data and algorithms needed for routing.
It seems like a very niche technology; it's surprising to see it on the front page.
The same article also says "even though the late-2008 MacBook Pro 15 inch doesn't keep up in either colour accuracy or viewing angle with laptops from IBM/Lenovo, its display is still quite good and still falls on the right side of the line of acceptable display quality for field use by a working photographer, at least in ambient light that discourages reflections."
So apparently it's not "ambient light environments" that make this MacBook acceptable or not, but rather whether a particular instance of ambient light "induces" or "discourages" reflections.
This is one of the reasons Colemak and Asset were invented. Asset and Colemak both keep ZXCV and nearly all punctuation keys in the same place as Qwerty. This means that clipboard hotkeys don't need remapping, and the layouts are easier to learn for those that already know Qwerty.
(note: I designed Asset, but recommend Colemak because it is better maintained and promoted - I'm lazy.)
When I was young I occasionally suffered actual bullying--as in, with fists. Cyberbullying is a head-scratcher for me: how is it that saying mean things to someone is worse when done on the internet than when it is done face-to-face? Children say mean things to one another all the time and it seems to me that the adults don't do much about it until a fight comes to blows. Or to suicide. That an adult would engage in cyberbullying is bizarre, and wrong, and I maybe there should be a law against it (how would you word this law?). But it's inappropriate to hold her responsible for the child's response, which no one would have predicted. If there is no law that properly applies to her behavior then the judge shouldn't instate a new legal theory just to provide a punishment in one case--not if the precedent could have serious chilling effects on many other people.
The MS STL looks like a mess. All identifiers begin with an underscore, braces are indented, some structure such as try blocks are not indented, and names are not especially descriptive (_Xlen, _Umove, _Alval?). Here's typical code from vector<T,Allocator>...
// TEMPLATE CLASS vector // varying size array of values
... // determine new minimum length of allocated storage // result too long // not enough room, reallocate
// destroy and deallocate old array
/* _HAS_ITERATOR_DEBUGGING */
template<class _Ty,
class _Ax>
class vector
: public _Vector_val<_Ty, _Ax>
{
public:
void reserve(size_type _Count)
{
if (max_size() < _Count)
_Xlen();
else if (capacity() < _Count)
{
pointer _Ptr = this->_Alval.allocate(_Count);
_TRY_BEGIN
_Umove(begin(), end(), _Ptr);
_CATCH_ALL
this->_Alval.deallocate(_Ptr, _Count);
_RERAISE;
_CATCH_END
size_type _Size = size();
if (_Myfirst != 0)
{
_Destroy(_Myfirst, _Mylast);
this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);
}
#if _HAS_ITERATOR_DEBUGGING
this->_Orphan_all();
#endif
_Myend = _Ptr + _Count;
_Mylast = _Ptr + _Size;
_Myfirst = _Ptr;
}
}
</ecode>
I'd have to agree. Using instruction-by-instruction emulation, a C++ based SNES emulator I wrote around 1998 used at least 150Mhz of processing power to emulate the SNES' 3Mhz processor. When I rewrote it in assembly, it was 5-10 times faster. I expect that some pretty sophisticated techniques would be required to exceed a snail's pace when using Java for emulation, eg "dynamic recompilation": translating sections of x86 machine language to Java bytecode... but getting this to work 100% correctly would be pretty tricky.
If it's hard to get good emulation speed in C++, it's even harder in Java.
You're writing software for any chip, on any platform, that requires direct hardware level access, e.g. device drivers, boot code, or core-features. No machine, no matter how fast can be programmed exclusively in C. For example, in C you simply cannot a DCR on a PowerPC. You need a special instruction w/o a high-level language equivalent.
You're certainly right, but programming language extensions could get around these limitations. For instance, I think the PIC C compiler, which is not really standard C, has an extension that lets you write and install an interrupt service routine without any assembly. One could imagine such extensions for almost any hardware feature; it's just that compiler-writers rarely bother to offer such extensions.
Here are a few reasons you might need proficiency in assembly language:
FTA: "We're either talking several decades or never," said Joseph Romm, an assistant energy secretary in the Clinton administration, referring to the likelihood of fuel cells' supplanting internal combustion engines in cars. Though Romm pushed for financing of hydrogen research in the mid-1990s, he has since become skeptical of its prospects, to the point that last year he published a book titled "The Hype About Hydrogen."
But what alternatives are there to fuel cells, when the oil runs out? Artificial petroleum, maybe?
The FCC need not be abolished; its policies just need to change drastically. Whatever you may think of the censorship policies, spectrum usage rules will always be needed. It should be noted that while some radio technology is becoming more sophisticated (so that it can tolerate interference better, spacially direct transmissions, and cooperate with other devices), we can expect that certain technologies (e.g. analog radio on emergency frequencies) will have good reason not to change, and thus might continue to need the kind of protection that the FCC provides. Also, protection against jamming, excessive power use, and bad receivers (and non-radio devices) that cause interference, are still good things.
It seems to me that the author of TFA has confused a lot of things. Open source per se is not a threat to established broadcasters, but many new technologies (both open and closed, hardware and software) are eliminating the need for the traditional broadcasting model.
Contrary to the article, both developers and users can charge money for GPL software.
> the author of this book is a quack ... he has dispensed with (geometric) axioms
I have the impression that the geometric axioms in question have already been dispensed with -- it's just that calculus is needed to accomplish that. As one /.er mentioned, the operation of functions like sin() and atan() is a black box, which prevents a high-school student from understanding trig fully.
Rational Trigonometry's advantage is that there are no black-box functions; how it works can be readily seen by anyone who understands grade 12-level algebra. In other words: it involves no geometric axioms. Incidentally, it also makes it possible to solve trig problems without a calculator, but that might not appeal to some people.
Good point. Hey, you should have done it yourself. Then you'd get a +/-5 Funny, Redundant.
So sines and cosines are nothing more than raising 2.718281828459045235360287471352662497757247093699 95 to an imaginary power? If only I'd known earlier! It makes trig so much simpler and clearer! Duh!
A story so boring that it's only got 6 comments 15 minutes after being posted!
Yes, I downloaded Miguel_De_Icaza_-_Keynote.ogg and it crashes both Winamp and Windows Media Player. Even after installing that "ogg vorbis acm" thingie which I think was already installed anyway... Media Player Classic opened the file but it seems to be 4 hours, 54 minutes and 32 seconds of silence.
Right as you may be, most C# programs don't use pointers, and if they do, the VM can detect it (it has to detect unsafe code such as pointer use in order to prohibit it from running in a web browser, for instance)
Microsoft also offers a virtual machine in the form of "rotor" for BSD and IIRC, MacOS X. The Mono and DotGNU projects offer .NET virtual machines for Linux.
Say what? Polymorphism != varargs. Varargs is for things like printf, fprintf, and, uh.... sprintf. Ahh, what a great field of possibilities it opens up!
It is certainly useful in some situations -- the Math class being the best example I can think of. The fact is, object orientation isn't a universal model of everything; some things, like algorithms, and even singletons, just don't have any need to be "objects". Static Import lets you drop that OO pretense. In the case of Math, where's the bad style in writing Cos(x) instead of Math.Cos(x)?
DuNG? DaNG. I really wanted it to be called DoNG.
Do you know how a CCD works? How about a CMOS? I suppose JPEG-2000 might be able to store raw data (e.g. for a RGGB mosiac, as a four channel image) but a new standard for all the necessary metadata would be required. Also, besides being more complex, I understand that the compression algorithm in JPEG-2000 (based on wavelets) requires a lot more processing power than JPEG. IIRC, even the lossless mode uses wavelets, so that rules it out for most cameras.
Good idea, but wait... how did you know it would be in the first 250 digits? /:)
Anyway, since they're "tackling a lot of engineering challenges that may not actually be solvable", I should think they want an engineer or a mathematician (and maybe both in one?) and not just any UNIX geek.