Domain: inria.fr
Stories and comments across the archive that link to inria.fr.
Comments · 395
-
French/Spanish/Belgian military 2G network in 1975
The first time I used a mobile phone and a computer was in 1975.
It was military technology, called RITA, developed by the French, Spanish and Belgian armies and also bought/used by the American army.
The tech was actually what would later (1991) be called "2G" (i.e. like GSM): the signal was transmitted digitally (1G was analog) and scrambled. The exchange centrals were powered by MITRA mini computers in fixed locations or on trucks: they could literally roll out the network.
I have seen two models of those phones: one had a battery which could be mounted in a jeep, the other had a huge backpack for the batteries.
-
Re:Looking forward to neural accelerators
Link to preprint about the DaDianNao chip:
-
Re:Microsoft lags behind better research
CompCert provides a formally verified subset of C and has existed since 2008
AT&T's Cyclone is a bit older than CompCert but appears to have fizzled out 12 years ago
https://en.wikipedia.org/wiki/... -
Microsoft lags behind better research
CompCert provides a formally verified subset of C and has existed since 2008
-
No, it won't
Linux will never become fully compatible with Windows and Mac software, just as Windows will never become fully compatible with Mac software, and Mac will never become fully compatible with Windows software. Here are some reasons why:
1. Microsoft and Apple both need to make money. If Linux, being free, were just like them, they would lose market. Therefore, if Linux became just like them, the cheese will move.
2. Linux does not have 100% compatibility as a goal. It's not necessary for Linux's success. And make no mistake, Linux has succeeded. The only significant market where Linux is not a MAJOR player is the desktop. Supercomputers? Check. Servers? Check. Home automation? Check. Telephony? Check.
3. People who try Linux want it to be "better", for various values of "better". This demands that it be DIFFERENT. Read "Linux is NOT Windows", http://linux.oneandoneis2.org/LNW.htm
4. Linux is built on a different worldview. Read "In The Beginning Was The Command Line", http://cristal.inria.fr/~weis/info/commandline.html
-
C++ is as simple as possible, but no simpler.
C++ is a universal language that can express very abstract computing, and has tight speed and size requirements for it resulting code so that it can be used in embedded application, operating and critical systems. One day someone will produce a formally verified C++ compiler (such a C compiler already exists), and it will be a safe language too.
-
Re:Forget Ryzen
One element is better branch prediction.
Here's a paper detailing the branch predicition improvements of the last Intel platforms and their impact on scripting language execution: https://hal.inria.fr/hal-01100647/document
Our measures clearly show that, on Nehalem,
on most benchmarks, 12 to 16 MPKI are encountered, that is about 240 to 320 cycles are lost every 1 kiloinstructions. On the next processor generation Sandy Bridge, the misprediction rate is much lower: generally about 4 to 8 MPKI on Javascript applications for instance, i.e. decreasing the global penalty to 80 to 160 cycles every Kiloinstructions. On the most recent processor generation Haswell, the misprediction rate further drops to 0.5 to 2 MPKI in most cases, that is a loss of 10 to 40 cycles every kiloinstructions.That's an order of magnitude difference. In their their Python benchmark the Nehalem has an average of ~1.5 instructions per clock (IPC) while Haswell has an average of ~2.4 IPC, a 50% increase over Nehalem. The branch predictor is likely a big factor in this.
Of course scripting languages is a "worst-case" of sorts, but lots of real-world code feature similar indirection for which improved branch prediction helps a lot.
-
Additional links
Mantis entry https://caml.inria.fr/mantis/v...
Spec update https://www3.intel.com/content...
From the mantis page: OCaml toolkit users noted that compilation was failing on skylake processors, when multiple concurrent processes were running. Additional testing found that test systems were producing incorrect results when running compiled code on skylake systems with HT enabled. -
Re:You built the better mouse trap.It's actually quite hard to fake fingerprints thoroughly and coherently. There's a whole bunch of different Javascript API's a website can use to obtain fingerprintable data through, and some API's are browser specific or sometimes something simple, like the order of the objects returned, may be browser specific and give you away.
If you were to spoof coherently, you'd need to ensure that you can defend against all (most) of the attacks that attempt to verify your browser. This would require all kinds of astute manipulations to forge a fingerprint that can't be detected by the server, particularly if your running a different browser than the one you say you are (for example, your on FF but say IE).
Complete randomization has it's limits too, particularly if your randomly spoofing attributes. You can exhibit a new fingerprint easily, but is that fingerprint coherent (e.g., user agent is in accord with some other attribute, no Chrome API's in your spoofed Firefox browser)? Some sites probably won't care, most may not even check, but fingerprints could be used as an additional security mechanism (e.g., for banks). If the site doubts that you are who you say you are, then they may decide to deny access or require further authentication. Such mechanisms could be helpful against projects like FraudFox.
In either case, just because the site knows you are spoofing doesn't mean they know the truth nor that they can fingerprint enough attributes to track you over time.
Plug: We worked on a small prototype that, instead of spoofing, randomly assembled components and generated unique environments using Virtualbox, we also have a docker version that is lighter now. Here's our paper. https://hal.inria.fr/hal-01121...
We think it's more flexible than Tor since instead of attempting to construct one fingerprint, a user can have trillions. Also, we don't improse any specific browser or version, giving users more choice. Tor however addresses other concerns too that our small project didn't look at (e.g., IP address).
-
Re:Smalltalk also had major failings ...
The continuous evolution of the Image such that it lost the ability to be recreated from scratch is a failing that the Pharo guys are working hard to fix with a bootstrapping CI infrastructure... http://rmod.inria.fr/archives/...
-
Re:depends
> maps of the real-world (like bidirectional properly graphs can).
> The future will belong to a language that manage to express that truth, make it fast, easy and powerfulSomething like Flexible Object Layouts being implemented in Pharo Smalltalk?
http://rmod.inria.fr/archives/... -
Re:To be fair...
You might enjoy this poem.
Apparently it was adapted from this original.
-
A short list
Software development can be a grind. Perspective is valuable.
Geoffrey James, The Tao of Programming
http://www.mit.edu/~xela/tao.h...Neal Stephenson, In the Beginning Was the Command Line
http://cristal.inria.fr/~weis/...Vernor Vinge, True Names
Dale Carnegie, How to Win Friends and Influence People
https://en.wikipedia.org/wiki/... -
Re:And nothing of value was lost
If you have issues reading/comprehending the shorter code then you should probably find a different line of work. Seriously.
Unfortunately what counts as "readability" is 50% groupthink. I rarely pay much heed unless the barrier to entry on the language I'm using is pretty high to begin with.
One you've waded through Static Single Assignment Book, you'll never find the infamous ?: operator unreadable ever again.
#define back_of_the_cupboard_lvalue (a[b->c[i],d]->item)
if (n > 0) {
back_of_the_cupboard_lvalue = 1
}
else {
back_of_the_cupboard_lvalue = 2;
}I'm going to write a book. It will be called The Joy of Reswyping Lvalues, because I assume most people who find ?: "unreadable" are programming using Swype keyboards.
-
Re:The more you tighten your grip...
There are plenty of inconsistent pronunciations in English. I wouldn't rag on people who pronounce schedule with a "sh" sound.
Consider the following famous poem, possibly anonymous, but also possibly excerpted from The Chaos by Gerard Nolst Trenité.
English is tough stuff
Dearest creature in creation,
Study English pronunciation.
I will teach you in my verse
Sounds like corpse, corps, horse, and worse.
I will keep you, Suzy, busy,
Make your head with heat grow dizzy.
Tear in eye, your dress will tear.
So shall I! Oh hear my prayer.Just compare heart, beard, and heard,
Dies and diet, lord and word,
Sword and sward, retain and Britain.
(Mind the latter, how it's written.)
Now I surely will not plague you
With such words as plaque and ague.
But be careful how you speak:
Say break and steak, but bleak and streak;
Cloven, oven, how and low,
Script, receipt, show, poem, and toe.Hear me say, devoid of trickery,
Daughter, laughter, and Terpsichore,
Typhoid, measles, topsails, aisles,
Exiles, similes, and reviles;
Scholar, vicar, and cigar,
Solar, mica, war and far;
One, anemone, Balmoral,
Kitchen, lichen, laundry, laurel;
Gertrude, German, wind and mind,
Scene, Melpomene, mankind.Billet does not rhyme with ballet,
Bouquet, wallet, mallet, chalet.
Blood and flood are not like food,
Nor is mould like should and would.
Viscous, viscount, load and broad,
Toward, to forward, to reward.
And your pronunciation's OK
When you correctly say croquet,
Rounded, wounded, grieve and sieve,
Friend and fiend, alive and live.Ivy, privy, famous; clamour
And enamour rhyme with hammer.
River, rival, tomb, bomb, comb,
Doll and roll and some and home.
Stranger does not rhyme with anger,
Neither does devour with clangour.
Souls but foul, haunt but aunt,
Font, front, wont, want, grand, and grant,
Shoes, goes, does. Now first say finger,
And then singer, ginger, linger,
Real, zeal, mauve, gauze, gouge and gauge,
Marriage, foliage, mirage, and age.Query does not rhyme with very,
Nor does fury sound like bury.
Dost, lost, post and doth, cloth, loth.
Job, nob, bosom, transom, oath.
Though the differences seem little,
We say actual but victual.
Refer does not rhyme with deafer.
Foeffer does, and zephyr, heifer.
Mint, pint, senate and sedate;
Dull, bull, and George ate late.
Scenic, Arabic, Pacific,
Science, conscience, scientific.[...]
The above is an excerpt. (Slashdot won't let me post the whole thing because the lines are too short.) Go here to see the entire poem.
-
Re: And we care because...why?
I think he's referring to situations like this one:
Three male developers have been tasked with improving the quality of the software systems they're responsible for. They're looking into using the Coq proof system.
They're sitting together in the office's open workspace discussing this tool. The conversation goes something like,
Programmer 1: "What do you guys think about playing around with Coq?"
Programmer 2: "I've played with Coq for a few minutes, but I don't like it very much."
Programmer 3: "Yeah, I've tried Coq a few times, too, and sometimes it's way too hard for me to handle."
Programmer 2: "Yup, it leaves a bad taste in my mouth, too."
Programmer 1: "Ok, that settles it. Coq is no good for us, so we won't touch it."
Well, since they're in an open environment, some of their coworkers overhead the conversation. These coworkers include a couple of women, and a male homosexual who is transitioning into becoming a woman, all of whom work in project management and design. All three are extreme feminists.
Taking the discussion totally out of context, these coworkers mistakenly hear "Coq" as "cock", as in penis.
As you can imagine, this brings an extreme level of outrage to these self-righteous coworkers. They think they're hearing sexually explicit, and possibly homophobic, discussion in the workplace. They go to HR, and raise a shitstorm.
HR cracks down hard on the three male programmers, who have no idea why they're being attacked. They try to explain what Coq is, and how it has absolutely nothing to do with penises or sex. It doesn't matter. They dared to say a word that sounds like "cock", and for that they must pay dearly, because coworkers got offended.
Instead of using their skills to improve the products that the customers want and need, the programmers are now stuck fighting political battles over a total non-issue.
I think that that's what the GP was talking about. Situations like those.
-
Its built in language is called "Grundle"?
I'm intrigued by the idea of LiveCode, but are you serious about its built-in language being called "Grundle"?
I can't go to my boss and suggest the use of LiveCode if it has a name like that. For anyone who doesn't know, grundle refers to the area between a man's anus and scrotum.
The Coq Proof Assistant project has a similar problem. This software would be seriously useful at work, but we can't be sitting in meetings with passersby hearing us saying what they hear as cock (as in a long, thick, throbbing penis) for hours on end. We also can't go to customers and say stuff that they'd hear like, "Don't worry, our cock has verified it."
-
Re:ACM doesn't get it on (C)
The Symposium on Computational Geometry recently voted to leave the ACM for this reason( https://sympa.inria.fr/sympa/arc/compgeom-announce/2014-07/msg00003.html), Not only is the ACM almost completely irrelevant to practitioners, it is quickly losing relevance to academics.
-
Re:Proof
While there have been some Linux bugs due to the compiler, I can't really recall hardware problems that have caused security problems â" unless you already have physical access, and then all bets are off.
The compiler issue could be addressed by using a certified compiler, such as this: http://compcert.inria.fr/ . Sadly CompCert is not FOSS.
-
Seriously people?
I admit that the article doesn't go into any technical details, but the number of comments here that are completely ignorant of what formal verification is and reject that it is even possible is...disturbing. (See CompCert for a real-world example of this practice.) Since the article was so bad, I don't know what the team actually did, but "mathematically proven to be invulnerable to large classes of attack" is exactly the sort of prudent statement I would expect from someone who has done good work making a hardened system.
-
Intendix P300 and other Brain Computer Interfaces
I am currently in graduate school for Biomedical Engineering and have looked into this a bit. Electroencephalography (EEG), ElectroOculography (EOG) and Electromyography (EMG) are all methods that can be used.
tl;dr version: Check out the EEG Based P300 speller system by Intendix. I think this is something you can buy and use right now.
http://www.gtec.at/Products/Co...
There is also a similar open source system based on OpenViBE (an open source Brain Computer Interface (BCI) platform) : http://openvibe.inria.fr/openv...
Here's a bit more detail:
There are several options, none of them extremely good. EEG or blink based systems are probably your best bet. The EEG based systems rely on something called the P300 Event Related Potential (ERP). Basically, the user pays attention to one object, waiting for an event (e.g., a letter on an on-screen keyboard). The brain's recognition of the event evokes an EEG signal that can be easily detected. These are kind of slow, but the tech has been around for more than a decade. This is the first kind of system to let a locked-in patient communicate with the outside world.
Blink based interfaces are very easy to build -- I've built one myself using a BIOPAC system, several electrodes, and an Arduino using a combination of EEG and EMG signals. You could probably do it using an instrument amplifier and an arduino alone. For a very similar system to what I built (currently unpublished), see "Virtual keyboard BCI using Eye blinks in EEG" by Chambayil et al at: http://ieeexplore.ieee.org/xpl...
There are also several invasive systems (i.e., those that require brain surgery) which have been tested. Most of these rely on Electrocorticography (ECoG), where an electrode array is implanted on the brain. Both computer cursor and wheelchair control have been achieved. This is probably not where you want to go.
Check out the Cortech Solutions EEG based spelling device: http://www.cortechsolutions.co...
Here are some scientific articles that are relevant:
“Bridging the Brain to the World: A Perspective on Neural Interface Systems” John P.Donoghue. Neuron 60, November 6, 2008 p511-521
(Chambayil, Brijil, Rajesh Singla, and Rameshwar Jha. "Virtual keyboard BCI using Eye blinks in EEG." Wireless and Mobile Computing, Networking and Communications (WiMob), 2010 IEEE 6th International Conference on. IEEE, 2010.)
Good luck, and feel free to message me privately if I can provide more information.
-
Re:Keep in mind the occasional bug in the system?
What about a compiler that has been mathematically proven to be correct?
-
Re:Keep in mind the occasional bug in the system?
Not true. Check this out: CompCert, a formally proven C compiler (i.e. 100% perfect).
And you can use it today, for free (GPL), on real programs.
-
Re:Only $0.0005? Great!
As the other author suggests, please use solutions on https://team.inria.fr/privatics/yourvalue/ This can show it in real-time and allow comparisons.
-
Re:leak
Please see: https://team.inria.fr/privatics/yourvalue/ And the linked description. Long story short: RTBs encrypt the value of prices... But in some cases this does not happen and even those careful enough find themselves be leaking this infos while using OTHER non-encrypting systems. So the leak is due to the fact that some of them encrypt, others do not, but the detection phase requires looking up the encrypted ones.
-
Re:Only $0.0005? Great!
Firefox and Chrome extension to see how much you are worth are available @ https://team.inria.fr/privatics/yourvalue/
FF plugin directly from Mozilla: https://addons.mozilla.org/en-US/firefox/addon/rtbwatcher/statistics so far from http://yourvalue.inrialpes.fr/
Average price of users $0.001200
Price of the cheapest user $0.000076
Price of the most expensive user $0.008000 -
The whole thing is unsubstantiated FUD
The whole thing is unsubstantiated FUD. I base my judgment on the slides at
https://media.blackhat.com/us-13/us-13-Stamos-The-Factoring-Dead.pdfThe whole argument boils down to:
a) there has recently been huge progress [*] in solving the Discrete Log Problem over fields of small characteristic;
b) progress in solving the DLP have historically implied progress in factorization, and vice versa;
c) factorization breaks RSA, and solving the DLP breaks DSA;
d) thus RSA and DSA are dead, move to ECDSA.The fallacy of it is that in b) and c), the DLP is exclusively over fields of huge characteristics (thousands of bits), making the algorithms in a) powerless. The slides do not hint at the faintest research lead towards moving to huge characteristics. Best argument is that "renewed interest could result in further improvements".
One the positive side, the author is honest: "I’m not a mathematician, I just play one on stage".
François Grieu
[*] See e.g. this recent paper and its references
Razvan Barbulescu, Pierrick Gaudry, Antoine Joux, Emmanuel Thomé: A quasi-polynomial algorithm for discrete logarithm in finite fields of small characteristic
http://hal.inria.fr/docs/00/83/54/46/PDF/quasi.pdf -
Re:Why
Well, my point wasn't that the original card is impossible to clone given physical access to the card. My point is that using only radio communication with the chip, it is not possible to clone it. I imagine that NFC stuff and the crypto module are isolated, and the hardware crypto module quite literally has only one command exposed, to generate a response to a challenge. So neither passive (when you hear the challenge and the response) nor active (when you can submit challenges yourself) attacks can give you the required key, even if you can find a bug in NFC that you can exploit.
As for complex protocols. I'm a logician working with proof theory. There have been precedents of full formal verifications of such protocols that, given a set of assumptions about the hardware, can exclude any possibility of a flaw in the protocol itself. Example 1, example 2. It's usually very hard, but can be done, and gives the same rigor as normal mathematical proofs.
Smart card security isn't new. So it's a reasonably mature concept, but it has usability problems in this application.
-
Re:CD's ARE digital
You know, I can't tell if you were trying to spoof as many common digital audio misunderstandings as possible or posting seriously, so if the former well done. I'll just reference CD-ROM Technical Summary as a good outline of how pits in the spiral groove are decoded into bit transitions, then into EFM data, bytes, audio, and then eventually digital data you might store on a computer.
-
Re:How to deal with compiler bugs
Or even better, use a verified compiler like CompCert.
-
Re:A still mainly unexplored genre
Satirical scientific articles are a field of literature ripe for expansion. The only one I know of to have really found a wide readership (at least among those who follow modern literature) is Georges Perec's Cantatrix Sopranica L.
.Or this paper.
Of course, the Sokal hoax paper is also a brilliant piece of writing.
-
Re:Python Indentation: Style is the language
Ugh, I keep forgetting that
/. doesn't display newlines and there's no edit button. Here it is again in a more readable format.Learn to use the tool before blaming it: http://www.python.org/dev/peps/pep-0008/ [python.org]
The best way to describe Python is that it is a real tool. Quoting http://cristal.inria.fr/~weis/info/commandline.html [inria.fr], it is not a "homeowner's toy" like Java which holds your hand with type-checking, etc. but a drill that does the job you tell it to. If you want to shoot yourself in the foot, Python's not going to lock itself and say to you in a calm, reassuring voice, "Hey, are you all right? I'm sure you didn't mean to do that." It's going to f*cking blow away your feet, because that's what it was designed to do and that's what you used it to do. Python doesn't tell you what you should do, it does what you tell it to do. If you decide to mix tabs and 2-spaces and 4-spaces and 2-space-tab-3space, Python lets you do that. Don't come crying to mommy if it blows up on you though.
Another thing is to use a proper IDE/text editor. Any competent IDE can easily replace tabs with spaces or vice versa, as well as highlight syntax errors. The fact that you have so much trouble with it suggest that you are not using such an IDE. I would suggest Vim with some of the very good available Python plugins and syntax highlighting, as well as Syntastic for syntax errors.
I have had no problems copy pasting code from sites I've found with google. Perhaps the problem is that you don't know how your web browser/OS's copy pasting works? Or that the code wasn't properly formatted properly in the first place, in which case I wouldn't copy paste without reformatting it anyway, no matter the language.
-
Re:Python Indentation: Style is the language
Learn to use the tool before blaming it: http://www.python.org/dev/peps/pep-0008/ The best way to describe Python is that it is a real tool. Quoting http://cristal.inria.fr/~weis/info/commandline.html, it is not a "homeowner's toy" like Java which holds your hand with type-checking, etc. but a drill that does the job you tell it to. If you want to shoot yourself in the foot, Python's not going to lock itself and say to you in a calm, reassuring voice, "Hey, are you all right? I'm sure you didn't mean to do that." It's going to f*cking blow away your feet, because that's what it was designed to do and that's what you used it to do. Python doesn't tell you what you should do, it does what you tell it to do. If you decide to mix tabs and 2-spaces and 4-spaces and 2-space-tab-3space, Python lets you do that. Don't come crying to mommy if it blows up on you tough. Another thing is to use a proper IDE/text editor. Any competent IDE can easily replace tabs with spaces or vice versa, as well as highlight syntax errors. The fact that you have so much trouble with it suggest that you are not using such an IDE. I would suggest Vim with some of very good Python plugins and syntax highlighting, as well as Syntastic for syntax errors. I have had no problems copy pasting code from sites I've found with google. Perhaps the problem is that you don't know how your web browser/OS's copy pasting works? Or that the code wasn't properly formatted properly in the first place, in which case I wouldn't copy paste without reformatting it anyway, no matter the language.
-
Re:Why use any hands?
I've read that ECoG's are being tested in prosthesis, which is very cool. I would think that a less invasive alternative (BCI is one, correct?) would become available before "brain implants" would be offered to the general public. The challenge as I understand it is regarding the sensitivity of the sensors, as well as the signal-to-noise ratio. Is there alot of development in this area, or is it limited to NASA?
Well in theory any Brain-Computer Interface is a BCI, whether it is based on EEG, ECoG, fNIR, or another technology, but I understand what you are asking and no, EEGs and fNIR are not considered invasive. At worst you are spending a lot of time for preparation (30 minutes or more when many electrodes are involved), getting conductive gel in the user's hair, or placing them inside a large machine for the duration of use.
Sensitivity of sensors is important, but removing noise and artefacts from ambience electrical devices and simple muscle movements (eyeblinks, twitch response, talking, etc.) are the greater issue. In addition you have to ensure that sensors are refitted with as much precision as possible in between sessions (a different position may yield slightly different signals or least the signals you used last time may be closer or farther away now), not to mention physical changes in the brain including neuron migration as a result of neuroplasticity - the actual act of training yourself to use the software produces changes in the brain to which the software needs to continue to adapt.
If you are interested to learn more, you may want to check out BCI2000 and OpenViBE, both of which are Open Source and produced by extremely well respected academic institutions.
Cheers
Steve Castellotti -
Re:boo
Computer programming is not such a fundamental area of study that it deserves to be elevated to the level of "math", "reading" and "writing".
To actually do some programming, one'll already need some "math", "reading" and "writing". And, IMHO, having coded a working program is a good incentive for kids, as it reinforce their sense of "control over something" - to put it briefly: in regards with derived satisfaction, "make install" seems some levels up over "make believe".
Besides, the writing in the Estonian language is mostly phonetic (every grapheme corresponds to one and only one phoneme). As a result, learning to read/write is highly simplified over some other languages. Thus kids are done with reading/writing by grade two in elementary schools, with no effort invested up to the middle school in spelling (yes, that's right, spelling bees are rare to nonexistent in countries whose national language follows more phonemic spelling rules).
While I'm not Estonian, my maternal language is also phonemic: I started to learn reading/writing at age of 6 and my first book I ever read all by myself was a translation of "The Hobbit" at age of 7 (granted, took me two whole months; but, since then, I was not dependent on anyone else to read books - other than, perhaps, to get a book from a shelf too high for me).
-
Re:Why would an additional purchase help Microsoft
lol. Actually I'm developing a modern jet combat simulator in Java. It screams in performance terms (that is, is enormously fast - although moving a lot of stuff to GPU shaders always helps). If you *know what you are doing* then Java is very fast, faster than C++, C and (that fastest language of them all) FORTRAN. You don't have to believe me but you ought to believe the French scientific supercomputing outfit INRIA, please refer to http://hal.inria.fr/inria-00312039/en That was five years ago. The JVM has not gotten slower in that time. So basically your statement is out of date - there are so many performance options on modern JVMs, but most Java devs are crap (because most devs are crap).
Using GWT with a
.NET back-end? who's monstrous architectural decision was that? Why would anyone torture themselves with such a ridiculous mismatch, apart from some ideological determination to shoehorn .NET where it doesn't belong? Incidentally you made another incorrect assertion (probably inadvertently?), GWT contains both client-side and server-side components. Perhaps you know less about GWT than you think (and possibly have not used the most recent versions of GWT, along with wonderful extensions like vaadin).Would I do it again? No. GWT is a cool idea, but it is a one-platform pony.
Utter bullshit. So wrong as to be troll-esque and raises my suspicious about either your capabilities or motivations. Anyone who uses GWT knows it is truly multiplatform (I've deployed to customers using Win 32, Win 64, Linux, Solaris - and it works for me on Mac OS X; and to all sorts of browsers, including the fundamentally borked Internet Explorer series). If you mean GWT is single language only then you are correct, being able to do everything with a single language is a feature (clearly not the same thing unless one is trying to be disingenuous) - clearly your project wanted to use the capabilities of GWT while using a .NET back end (obviously .NET didn't have GWT-like capability at the time; this is hardly an advantage of .NET).Even the fact that you think
.NET is a one-platform pony shows how little you know. The GWT app I am talking about above is being deployed on the same Linux box that runs the JBoss server.
If you are using Mono then the software must be worse than I though. You must have discovered by now that Mono is hobbled as it does not (and furthermore, never will) implement all the libraries that Microsoft .NET does (eg. WPF, and the latest failure with the Silverlight clone - since Microsoft is letting this wither and die *as their business model dictates they must in order to sell different tools every few years*). Given a choice between Mono or Java for a long-lived national government or bank-level critical business system on it (the kind of stuff I write) I know which one I'd choose.I prefer to develop my Android applications in C#, but then again, you didn't know that C# development was possible on Android. Funny enough, it is also far more efficient and performant than Java on Android. Really. It is. But hey, you can develop slower Java apps on Android all you want.
Another wrong assumption. I did know you can write Android apps in a variety of languages, including C#. Why you would want to is beyond me. The performance comes from using the *hardware* properly (eg. OpenGL ES, which I've alluded too I already write shaders and use them from Java). "Far more efficient and performant than Java on Android" - more utter bs again. Generally I regard Java and C# to be in the same performance league (although when I was using C# when it was first released its performance was so bad Microsoft prohibited when compared to even the old JVMs of the time - fortunately both .NET and Java have gotten *much* faster since then). Only n00bs believe marketing spiels and -
Re:fp
Great joke from the 90's.
In case some of the Slashdot readers take the joke (and what used to be true) as the current state of affairs I thought it worth correcting them (otherwise they will have a mistaken view of the *current* performace of the JVM). It turns out today that Java on the Oracle JVM is faster than pretty much every other general-purpose language except for FORTRAN (which is fast 'cause it so simple - which is why FORTRAN programs still dominate much of supercomputing). Don't take my word for it. Take that of James Gosling (a biased source): http://blogs.oracle.com/jag/entry/current_state_of_java_for and the French supercomputing facilties of INRIA (an unbiased source): http://hal.inria.fr/inria-00312039/en
That may be so, but the GUI handling in Java royally sucks. I very rarely see a graphical Java app that can't bring the fastest of PCs crawling painfully slow.
-
Re:fpGreat joke from the 90's.
In case some of the Slashdot readers take the joke (and what used to be true) as the current state of affairs I thought it worth correcting them (otherwise they will have a mistaken view of the *current* performace of the JVM). It turns out today that Java on the Oracle JVM is faster than pretty much every other general-purpose language except for FORTRAN (which is fast 'cause it so simple - which is why FORTRAN programs still dominate much of supercomputing). Don't take my word for it. Take that of James Gosling (a biased source):
http://blogs.oracle.com/jag/entry/current_state_of_java_for
and the French supercomputing facilties of INRIA (an unbiased source):
http://hal.inria.fr/inria-00312039/en -
Re:yellow stone erupts every magnetic field can 'f
Core temperature is driven by pressure from the gravitational attraction of every atom on and around Earth. This causes enough heating to make the mantle to become liquid. The mantle itself is liquid sodium which conducts electricity. The core itself is mostly iron/nickel and is under such high pressure it remains a solid (Clausius Clapeyron relation
At the Earth's core, pressure is around 330 - 360 gigapascals, 330 million times atmospheric pressure.
Deep Water accident was only 120,000 times atmospheric pressure. There isn't any danger of the core cooling down.The effect of convection currents and the Earth's spin forces the liquid mantle to start rotating which in turn causes magnetic fields to form. This was the subject of a scientific experiment.
The idea is that these individual rotating eddies can at times reinforce each other to form a strong dipole system as we have now, and at other times cancel out or form a weak multipole system, which would last until a new strong dipole system formed.
There are other theories that different layers of the Earth rotate at different speeds, having other electromagnetic effects on the Earth.
-
Re:Give me a call when...
Request granted (at least for calling C). SML has an even nicer FFI and most certainly builds native executables.
Adhering to the platform ABI makes little sense -- the "platform" ABI on e.g. UNIX is meant for C programs and is not expressive enough for other languages (keep in mind the only types in C are bytes, half-words, words, double words,
...). -
OCaml
Just one more project that I haven't seen in the previous posts: OCaml is a nice programming language that is used for teaching in France, and also used in a few real-world projects.
-
Re:Lessons from the Old and Wise
Or go the other way - toward Church instead of Turing - check out Erlang or Haskell or Ocaml. In fact I recommend learning at least one of the above (I personally like Erlang, but that's just me) just to get a different perspective on computation than any of the 'classic' imperative, memory-location-oriented languages.
-
Ambiguous naming makes me sad
Caml http://en.wikipedia.org/wiki/Collaborative_Application_Markup_Language
Camel: http://en.wikipedia.org/wiki/Customised_Applications_for_Mobile_networks_Enhanced_Logic
Camel:
http://en.wikipedia.org/wiki/Apache_CamelI've invented a wonderful new programming language let's name it Camel. And I'll name my compant MicroSwoft or Son microsystems.
-
I don't get Tor
Can someone explain to me why someone who is monitoring sufficient backbones and running sufficient Tor nodes himself can't just watch a packet stream being bounced between Tor nodes?
Then there are people using Tor really dumbly such that you don't even need a three-letter acronym to work out who it is.
-
Re:Geneweb
I agree wholeheartedly! Currently, I use ancestry.com for my main family tree, but regularly download a GEDCOM file and import it into GeneWeb (locally hosted) for offline access. I've tried several other programs, both open source and proprietary, but GeneWeb is my favorite by far. It doesn't make the prettiest family tree website, but it's easy to use and its functionality is great.
Even though the primary developer, Daniel de Rauglaudre, isn't developing it further right now, it has more features than I use regularly, and it's highly customizable. I'm somewhat tempted to learn OCaml, just to be able to modify this software.
-
Re:Geneweb
I agree wholeheartedly! Currently, I use ancestry.com for my main family tree, but regularly download a GEDCOM file and import it into GeneWeb (locally hosted) for offline access. I've tried several other programs, both open source and proprietary, but GeneWeb is my favorite by far. It doesn't make the prettiest family tree website, but it's easy to use and its functionality is great.
Even though the primary developer, Daniel de Rauglaudre, isn't developing it further right now, it has more features than I use regularly, and it's highly customizable. I'm somewhat tempted to learn OCaml, just to be able to modify this software.
-
Re:Complete solution in five words
-
Re:Alternatives
For future reference of anyone who might stumble onto this thread from Google etc, I have found this explanation from Xavier himself. It seems that the main problem with SMP is writing a proper concurrent GC.
Frankly, I'm not convinced by his argument, as many VMs today have it (various JVMs,
.NET, Mono), so surely it's not rocket science by now. Nonetheless, it is what it is. -
Re:Why when we already have Ocaml?
Not quite sure why you've chosen to troll about F# here, but OCaml simply does not have the serious technical issues you say, and does have hundreds of libraries. It's used a lot by some very large companies, and in important areas like financial trading, aircraft code verification and virtualization.
Rich.
-
Re:Problem solving
The truth is, many people feel the same way about the 100 to sometimes 1000 page proofs of some of the more complex results in mathematics. In addition to the time that experts take to review the proof, there can be some clues as to whether the proof is correct, as noted by R.J. Lipton on his blog. Foremost is the ability for the proof technique to solve related questions to the one being proven, whether they are open or not. Another one is whether the general proof technique can be understood and has not failed to solve the same problem in the past. One must remember that building a proof of a large open question is somewhat like building a house (sorry no car analogy
:), you need sketches, blueprints, foundations, and only after that you start laying bricks.More formally, it is technically possible to check a proof in polynomial time provided a formal proof has been given. This has actually been done for the proof of the 4 colour theorem, and is currently being attempted by the contender for the proof of the Kepler conjecture. Once you have a formal proof, there exists software that can check it for you, and it operates in polynomial time (if you lay aside a minor technical point which I will not go into).
Hope this helps!