I was in undergrad and grad school in Grenoble where I had F. Maraninchi and P. Caspi as teachers for the synchronous programming and VLSI classes (embedded system track). We did a lot of Lustre. It's a pretty great way to get acquainted with synchronous programming and all the fun stuff that derives from it (cf. SDF, code generation, soft/hard real-time, and FPGA programming). Fun times.
It certainly is not "the French". It's the "French Republic". Local dialects lived happily in France for over a Millennia under the Monarchy. The French dialect, mostly spoken in the Jacobin circles in Paris, was imposed by the revolutionaries as a mean to achieve "equality".
Also "the language"? The french republic started actively suppressing all local languages (breton, auvergnat, arabic, kabyle, …) starting from the mid 19th century and until late in the 20th, this ramped up significantly with the free, universal and mandatory education laws of 1881 and 1882: all education was done in french.
Alsatian is probably one of the local languages which suffered least due to Alsace having been conquered by Germany in 1870, and being reintegrated with its own set of laws and exemptions in 1918.
Hell, the republic just grouped everything which wasn't standard french under patois, regardless of them being languages, dialects, creoles, ….
Though just so we're clear, this is a long-standing issue of the french state and its centralised habits: Louis XIV banned Catalan back in 1700.
Although the French Revolution started the first concerted effort at suppression, L’Academie Francaise was created over 100 years earlier by Richelieu. I feel like the only reason the monarchy didn't impose its edicts is that they just didn't care about the common people that much one way or the other :)
> Although the French Revolution started the first concerted effort at suppression, L’Academie Francaise was created over 100 years earlier by Richelieu. I feel like the only reason the monarchy didn't impose its edicts is that they just didn't care about the common people that much one way or the other :)
They did though, Louis XIV banned Catalan in 1700.
Although I guess it was not really about the "common people" and more about legal and official acts being in Catalan in Roussillon/Northern Catalonia[0].
True, the 'French republic' was never a friend of regional identity and it continues today. Unfortunate that the policies have diminished the mosaic that is France and also for intergenerational links and the economic opportunities that were lost.
I think of my Alsatian colleagues that learnt their regional language mostly from their grandparents. That skill is still very useful on the other side of the border but you wouldn't know it if you ask the ministry of education in Paris: the dialect of the Haut-Rhin is relatively close to Baseldüütsch and for those that didn't learn at home, bilingual school opened the doors of employment to a lot of people there. There is a net regression of Alsatians who are functional in German, either dialect or standard. Good job opportunities in Basel are being increasingly filled by Germans as the generations progress, while the economy stagnates in France. Back at home, the regional reorganization of France under Hollande is unlikely to help efforts to preserve the regional language since Alsace has been incorporated into a mostly francophone eastern megaregion that has little interest to spend money on the promotion of some 'backwards' regional language or even the foresight to encourage a second language that is not English.
Anyway, the discouragement of regional languages is not only a problem in France, as others have noted. Next door in Switzerland, the regional patois like arpitan (a variety of franco-provençal, perhaps related to Occitan) were discouraged for a long time. Completely different to the approach adopted in Alemanic Switzerland.
My personal opinion: the desire to 'live together' starts on the local, not national level so more efforts are needed in that direction for a functional society and regional languages help.
The ordinance of Villers-Coterets[1] was limited to legal documents, whereas the efforts led during the Terror were aimed at eradicating local languages[2], seen as so many shackles keeping the peasants from being enlightened.
I'd like to know more. In New France, the majority was from northwestern France (Normands, Poitevins, etc.) but somehow they managed to settle on a language that is surprisingly similar to Parisian French despite the accent and informal terms whose northwestern roots are clear (according to the linguists that I've read). So did the colonists of New France build on the efforts of François 1er?
The version of French that became standard French was not exactly the language spoken in Paris (the local Parisian accent has mostly disappeared now but it can be heard in old movies) but the one spoken in Western France, where the French nobility lived and spent time (the Loire valley is now known for the castles they built there).
In addition, when the colonists settled in New France and mixed together, standard French (the concept probably wasn't there at the time, but administrative French maybe) was the natural common denominator for them.
True, but I think of the French author who visited Québec in the 19th century long after the conquest and noted that the purity of the language was better than in much of France at the time. Or something like that, I can't find the reference right now. Was the author talking of the division north-south or of a greater diversity than you suggest? Hard to tell.
Niklaus Wirth is one of those unsung geniuses of computer science. He invented Pascal, the Modulas, Oberon ...
Then he woke up one morning wanting to reboot his life's work for his class and, undeterred by the fact the original targeted processor did not exist anymore, settled to write his own computer architecture on a Xilinx Spartan.
He then successfully ported the Oberon system and compiler to this architecture to demonstrate to his students.
Wirth is one of the rare geniuses who can do the "Things should be as simple as possible, but no simpler." Just reading the code he writes make me feel slightly elevated.
Re: your clipboard issues, which platform are you running on? I am using vim+iTerm2 on OSX and vim+st on OpenBSD and the clipboard integration works flawlessly.
For the record, I don't think nvim is much better, but there's definitely stuff that doesn't work out of the box in Vim. For instance, the Alt key was a real struggle for me. Clipboard support is the same for a lot of people. Both of these things are for reasons, but still.
My understanding is that TCP is also partially user-space, but with some kernel management (such as communicating the closing the TCP connections when processes terminate)
It is limited to UDP for the moment (at least AFAICT). I would be very surprised if they ever offer user-space TCP. It's a much different beast than UDP to handle right in user-space.
Also, the 30% less overhead is underwhelming. I would have expected much better improvement than that. That being said, if their measurement includes the encryption layer then the I/O benefit may be overshadowed by the encryption overhead.
Still, pretty cool stuff to make publicly available.
It definitely offers TCP as well. I had an Apple engineer confirm to me that the kernel still provides sanity-checking of the packets and implied that the kernel will still terminate a TCP connection if the process crashes, both of which only make sense if the user-space networking layer is handling TCP.
This implementation looks a lot like HW TCP offload engines where the kernel handles session creation and termination and the HW takes care of most of the state machine. Apple then must have found some way to hide the handling of ancillary tasks from the user in a way that does not cripple the protocol. They may have added hooks in the main application loop but my guess is that they are running separate threads to avoid having the application hanging the main thread in a non-returning loop and prevent these ancillary tasks from running (some are time sensitive). This means that their TCP user-space session management is most likely multi-threaded, which has a detrimental impact on performance due to the use of locks and the consequential cache pollution.
In the WWDC session on this, they demonstrated a simple app that sent uncompressed video frames captured from the camera over the network (I think using TCP, but I don't recall for sure) using BSD sockets and using Network.framework and reported 30% less overhead with Network.framework.
Which is to say, you're saying "detrimental impact on performance" and yet this seems to be a significant win over BSD sockets.
> Which is to say, you're saying "detrimental impact on performance" and yet this seems to be a significant win over BSD sockets.
The point I was trying to drive home is that, while 30% overhead reduction compared to BSD socket is nothing to laugh at, a fully user-space UDP/TCP network stack combined with memory-mapped buffer sharing usually gives performance improvement measured in the "x" and not in the "%".
Now, there is not much in terms of experiment protocol in their material so its very hard to tell. You mention uncompressed video so they could be sending humongous frames, which I doubt as no one ever would send raw frames over the network (that would be several MB per frame for a 720p front camera). But if that is the case then the data copy operation becomes the predominant bottleneck and getting rid of one may justify the improvement. But that is not a realistic scenario.
The more realistic scenario is that they sent compressed delta-frames across the network (H264 or HEIF), which would then considerably reduce the transferred payload size. In that scenario, data copy is not the predominant overhead anymore and 30% overhead reduction is underwhelming, telling me that they still are calling expensive operations like syscalls/uIPC on the critical data path.
According to what they said in the session, they were asking for video frames from the camera and sending them, completely un-interpreted, over the network. The idea being the receiving device could take these frames and handle them exactly the same way as they would handle data coming from the local camera.
If you are referring to "Advances in Networking, part 1" [0], the material used is a little thin to draw any conclusion regarding their user-space TCP/IP design.
That is the talk I was referring to -- and I do agree the material is thin. But here's what I was basing it off of: the userspace networking slide has the "TCP / IPv6" block in userspace. While it's true this could be a broad block (it doesn't include UDP for example, which we know is in there), I doubt they would have explicitly put TCP if it was not true.
> I doubt they would have explicitly put TCP if it was not true
I am not doubting they have some sort of user-space TCP implementation. I am trying to understand how much of TCP they moved out of the kernel. From what I can gather they still have enough of it in the kernel such that the related syscall/uIPC overhead does not allow more than the 30% performance improvement announced.
I will certainly gets dozens of downvotes for obvious fanboyism, but I'm prepared to take the heat.
For the doubters and the disbelievers that have been wondering what is the relevance of IBM in this day an age: this. This is what IBM is all about.
And it's not just about PFLOPS; each node has 1/2 terabyte of memory, globally addressable across the entire cluster using RDMA over Mellannox 200Gb/s EDR.
It's also P9: 44 cores per node; but most importantly each node drives a couple of V100 through NVlinks, which allows the GPU to share the system's main memory.
FYI - It is generally frowned upon to make a comment on HN along the lines of “I will get downvoted, but...”. It is completely unnecessary and you could just make your point without it.
Also, you can defend yourself later when people respond. Prematurely saying “I am ready to take the heat” is not how we communicate here.
Summit node CPUs can access GPU memory coherently and unified memory allows for a single pointer across all processors. On most systems that involves page faults migrating pages, but summit has something called ATS that allows GPU to directly access all system memory.
Think of it as a much higher bandwidth PCIE. You still have to think about data locality, the same way you do with cpu cache levels. It just makes the problem of not having data on the gpu less painful than before.
That could not be more true. Mai 68 is now considered in some thought circles to be the first “color revolution”. The main figureheads come from French upper middleclass bourgeoisie (Cohn-bendit, Sauvageot, Geismar, Goupil) and derailed legitimate blue collar upsets to push their liberal/libertarian agenda in order to shake up the conservative government led by General de Gaulle.
At that very moment, losing ground, de Gaulle flees France for Baden-Baden to regroup with General Massu. After that meeting de Gaulle decides to resign, leaving the room to the banker Pompidou, much more open to the Anglo-saxon “weltanshauung” that the General spent his life fighting.
Like many others said it highly depends on where you work and for whom you work. Speaking from experience in NYC greater area, you can expect starting slighlty above $100K as a junior, which is really not much for the location. Seniors often go between $200 and $250K. The finance industry tops these with 50% to 100% bonuses. Large attractive companies like GOOG or FB top these with other form of bonuses. Also speaking from experience I would equate a $100K salary in greater NYC with a €25K salary in a average town like Lyon or Grenoble in France.
The absolute number is really meaningless. I remember a Ph.D prep talk about salary expectation in grad school in France mentioning $105K in the US, and I remember thinking “wow!”. What they don’t tell you is that a third of this will go to taxes, half of the reminder will go to housing, and because of the outrageous deductible and out-of-pocket caps of most corporate medical insurances you can be hit anytime with a $2K or $3K medical bill, which can be quite common if you have kids.