SAP is not paying for the product here. SAP is paying for the long list of customers using and relying on Qualtrics today [1], many of whom are Fortune 500 and government agencies.
Do people actually give away their email address when stumbling across a mysterious non-descriptive landing-page that says nothing about who or what a company is? In other words - what's the point of having "we're in stealth mode" landing page in the first place? Might as-well point your domain at an ambiguous Tumblr blog, or a Facebook page. Thoughts?
This thread is yet another example of "you can't please all the people all of the time". This tool is a useful addition to the Linux toolbox, made freely available by Microsoft, in what would be yet another step towards embracing and supporting OSS - yet for many in this thread, that's just not good enough.
Microsoft skeptics fail to realize that most of the mid- and upper-level executives increasingly spent their entire career using, creating, and contributing to F/OSS software. Many of them were involved with early MSFT OSS efforts back in 2008-2010, and many came from deep Linux/OSS community via acquisition (Nat Friedman). Hell, the creator of GNOME, Miguel de Icaza, someone who bears the scars of the Microsoft War on OSS, now resides happily at Microsoft now.
For whatever faults MSFT has today, any sort of antipathy or guile towards OSS or Linux is not one among them. Credit where credit is due. Too many are stuck reliving past glories.
If you want an actual OSS bogeyman, you need only direct your attention to Oracle. Too many transferred their goodwill towards Sun to a company has, among other things, tried to claim Java’s APIs as their own intellectual property. That’s a company that still merits this kind of hand-wringing.
Some Microsoft skeptics are more thoughtful than you concede. For an example, I strongly suggest you to watch the "Linux Sucks. Forever" talk by Bryan Lunduke [1] (who worked at MS some ~5 years).
If you don't have the time, the most interesting part starts at 7:29 [2] with a tour of the many ways Microsoft attacked Linux in the past, while from 13:55 [3] on he goes into how he thinks Microsoft (and others) are hurting Linux today.
Actually, the only two well-known OSS guys that work for MS are the ones you mentioned. Their reputation is far from flawless, in fact for a long time they were considered to be a negative influence on OSS because of their MS-focus.
Seeing you present them as champions is kinda funny...
Microsoft got a bit smarter since their anti-trust days. They saw that giving away OSS kept everyone off Google's back and allowed them to focus on building an immense spying machine.
Now they're applying the same recipe with some success (software people are suckers for OSS trinkets), but they started from such a poor image that it will take a while for all the dirt to wash off.
I'd be really impressed if MS made Windows open source. Maybe that way someone could finally disable that pesky telemetry spyware.
Oracle is all about money and it's obvious to everyone that they're not good guys. The ones to watch out for are the insidious ones like Google or MS.
Microsoft is in the Linux camp now because the Windows camp is dead for serious enterprise uses. Windows objectively failed to keep pace with the cutting edge. To Microsoft's credit, their leadership sees this and is working to build a viable replacement business model through the combination of Azure and data harvesting.
Reality is that the raw technical reality has forced MS to the open-source table. The fight played out and Windows lost -- Microsoft lives on.
Perhaps neither camp is happy with the situation, but if we're being honest, there's probably not anything that anyone can do about it.
People who remember the Microsoft from the 90's and early 00's are justifiably wary of them "embracing" things they like. When we used that word it was generally followed by two others, none of which was "supporting".
And it's not like present day Microsoft is without issues. As a user as far as I'm concerned every new version of Windows is worst that the last for instance. Ads everywhere, dark patterns in the UI etc... There are reasons to be cautious when we see them setting foot in FLOSS world, there's history here and it's not like MS suddenly turned into a non-profit open-source advocacy organization.
Even if Microsoft wished it still had the power to EEE Linux, everybody crying "Embrace, extend, extinguish!!" seem to not realize that the Linux ownership of the data center ship sailed a very long time ago and it's not coming back. Regardless of whether the perception of the Microsoft's current leadership is more forward thinking with a desire to be good corporate citizens, the reality is Microsoft is making these kind of moves towards OSS because it's good business.
That depends. Microsoft was evil under Gates, but they could also be competent. Under Ballmer, they were evil, but more incompetent. Under Nadella, they are less evil, but still incompetent. If Gates could help with the competence, but ease up on the evil, that would be good.
For the people that are still against Microsoft's involvement in mainstream technology, I don't think there will ever be a time where they'll accept Microsoft.
That's not to say that their criticisms are unfounded. The main criticism today is around advertising and telemetry in Windows 10, and that's absolutely a problem for a professional device. There are many scummy practices still going on at Microsoft, and the disjointed nature between their divisions is plain to see.
I don't mind it, because I think criticism is required to keep people/companies honest, and to drive improvement, but at this point I think a lot of people in tech will always find something to complain about in regards to Microsoft.
Since quite some evil tactics have been employed by MS against the FLOSS community, it is also good if an official apology would be issued. I really believe such a thing can "clear the air". They are supporting Linux now, and contributing in FLOSS: so we know they do not thing that open source licenses are "evil". Yet they have advocated for them evil in the past. So make a public apology and move on, now it's like they simply hope every one forgets.
It would be a nice gesture, but I still don't believe people will forgive Microsoft.
Microsoft are a different company to the one that tried to damage FLOSS. Those people want an apology from a strong Microsoft, not one they refuse to acknowledge as a top-tier tech company in 2018.
IMO, it's not the attack on FLOSS that people hate. It's the impact on the tech landscape during their time in tech, and no apology will repair that history. All we can hope for is that Microsoft continue to fight the good fight, and focus on creating good products and services. As I said before, criticism keeps a company honest, and hopefully that hate will balance out the praise and make Microsoft into an honest voice in tech.
> Microsoft are a different company to the one that tried to damage FLOSS.
Sure, "the river is never the same" :) But it's also the same shop and should be up front about this type of change in attitude, right?
> IMO, it's not the attack on FLOSS that people hate. It's the impact on the tech landscape during their time in tech, and no apology will repair that history.
I do think they still suffer from their sneaky behavior. That kind of impact on tech is to be expected of any capitalist outfit. Fixing that would be gov't's job.
The person writing the press release for such an apology didn't do anything, so there's nothing for them to apologize for. The people responsible for Microsoft's anti-OSS stance are minimally involved in 2018, if at all.
There are plenty of people and companies who apologize without putting action behind it. Apologies are a nice gesture on a personal level, but they don't mean anything without action, and they don't mean anything at all at a company level. Microsoft is, at a minimum, showing it wants people to think it's changed. People unwilling to give them a chance are not going to be persuaded by a press release with apology in the title.
Who was involved in the decision to fund SCO in their lawsuit against IBM over copyrights in Linux? I could stand to start with those people.
Next, round up all the people who paid for (and probably ghost-wrote) articles, in all the trade press, to persuade corporate America that Linux was a copyright-absorbing cancer?
I'll believe Microsoft "LOVES LINUX" when they announce Office365 for Ubuntu, and not a day before.
Yes, I'm bitter. I was very active in trying to get Linux more-widely accepted at my Fortune 250 in the 90's, and a bad-faith manager used the lawsuit, and the coverage of it, to stifle my efforts.
Are you sure it was a lawsuit and not the state of the still very new Linux in the '90s? From what I recall, Linux didn't have a good reputation before 2.6.
They've apologized in many ways over the years, and especially in many of their PRs about their open source efforts, but also in casual moments and jokes in their conferences. Ballmer himself admitted he was too harsh on open source in a magazine article somewhat recently.
I doubt they simply hope every one forgets, they probably hope every one forgives eventually.
The people that oppose Microsoft aren't asking for one, they're asking for changes to other things so the apology is moot. Microsoft is far from perfect, but they're possibly the only one of the big 4 that is at least trending in the right direction.
I have problems with Microsoft, but I'm also annoyed the amount of praise some devs give Microsoft for doing anything related to open source. Some devs just fawn over every little thing Microsoft does, while also expecting Microsoft skeptics to forget most of their history just because of the past five or so years.
You can't just appreciate them for being reportedly the biggest commercial open source contributor, while still hating them for everything else? There surely is some nice, open source tools from Facebook and Google, that I use on a daily basis, but I trust those companies only as far as I can see them, too (which isn't all that far).
I don't care at all about Microsoft being the largest open source contributor. It doesn't change my opinion about them one bit. In fact, I use it against them because they constantly talk about it as if it were a big deal.
Microsoft and Microsoft fans just can't let their actions speak for themselves and allow opinions to change naturally. They just have to force themselves on developers and say "wow you don't love me, OKAY, I'll just buy the platforms and services you love so you'll have to love me". I know why they do this though - it's because Microsoft's history is akin to Sauron, Darth Vader, or Lord Voldemort. Microsoft's history is just comically evil and the only reason they've changed is because the landscape shifted in such a manner where Microsoft was FORCED to change. They aren't doing this from to bottom of their hearts and they don't deeply believe in the open source idea and spirit; they are only doing it because, by the grace of God, the internet became the place to do business and not the desktop.
Microsoft would still demand its pound of flesh from all of us if they could; and they'd still be a closed source firm that looked down upon people who believed that free, high quality open source tools were a win for society in general, and they sure as hell wouldn't have let go of Balmer. Microsoft and .NET developers with stockholm syndrome need to stop treating us as if we're dumb for not bending the knee before Redmond.
That's because people have weirdly unrealistic expectations when you put 'Microsoft' and 'Linux' in the same sentence. The biggest thread on this post seems to be about the prospect that Microsoft should/must/will (circle as applies) completely abandon Windows in favour of Linux, based on very little evidence, almost certainly because people don't know what to make of … well, any of it. Microsoft have been contributing to open source projects, the Linux environment, and so on for years (at least since Ballmer's left), and yet people are still coming to terms with it because it still messes with their world view — and quite rightly, too; forty-odd years of precedent in the other direction is hard to scrub from one's mind.
"Microsoft Linux" would be the most EEE thing they could do and I don't think anyone here expects that. However, it would be nice if there has been a bit less fuss about Microsoft going open-source. They should do just what everyone else does: extract useful software from your software stack, release it as free software and make the community a bit greater in doing that. Get your praise from the software you release, not from the fact that you do.
(To be fair, I think Microsoft engineers are actually staying low-key and just release stuff, while the management, marketing and fan groups are talking about how great Microsoft has become for FLOSS)
> "The other thing that you shouldn't do, even though C/C++ allows it, is pointer arithmetic. Again, it's one of those epiphany things C programmers remember from their early days. It's something they just couldn't grasp until one day they did, and then they fell in love with it. Except it's bad. The reason you struggled to grok it is because it's stupid and you shouldn't be using it. No other language has it, because it's bad."
Honestly, this is a pointless rant. "Do this, but don't do that (because that's stupid)".
> "No other language has it, because it's bad"
The reason you "don't have pointer arithmetic in other languages" is - it's been abstracted away from you, for your convenience, so that you can just concentrate on your business logic and not have to worry about the rest. You may not deal with pointer arithmetic, but the people developing your JVM/CPython/V8/Chakra sure do. Author is simply ranting about the possibility of abusing/misusing the mechanisms offered by C/C++.
Programming as a profession is strange because we each do such different things but all tools are available to us all the time. Imagine if this were true in the physical world; you would read arcticles written by accountants like "Dynamite Considered Harmful" with rebuttals titled "Why Dynamite Matters" by construction engineers...
You see this all the time here on HN. "Interpreted languages are useless" coming from the systems and embedded people. "You can't call yourself a developer if you're not an expert in [FOTM web framework]" from the web devs. "Mutability is evil and reassigning variables is a sign of incompetence" from the functional programming sect.
It's almost as if things aren't really black or white, there's usually plenty of grey in-between. Things like use-cases, scenarios, trade-offs, intricacies. I find it awkward that a security shop would publish an article using that language - I would personally be embarrassed.
The rest of the comment is good, it adds to the argument, and I even agree with it, but there is no reason for this to be here. It doesn't add anything; it's just like calling names. From the HN guidelines:
> Don't be snarky.
> When disagreeing, please reply to the argument instead of calling names. "That is idiotic; 1 + 1 is 2, not 3" can be shortened to "1 + 1 is 2, not 3."
EDIT: To be downvoted like so for reminding people of the guidelines, HN sure is changing. I guess no good thing lasts forever.
Do you just take issue with the specific claim that no language should have pointer arithmetic, or do you disagree with the more general thrust of the post?
Sure, it's ranty and, like, maybe closer to op-ed than computer science publication, but I think even among the rarefied breed of people developing your JVM/CPython/V8/Chakra, you could easily find approval for the notion that pointer arithmetic is bad(*) and should be avoided as much as possible.
Array-indexing in C and C++ _is_ pointer arithmetic! It's syntactic sugar. Array-indexing in safe languages is bound checked iff the compiler can't prove the index value to always be in-bounds.
In case anyone doesn’t already know, this isn’t a figure of speech. array[5] literally translates to *(array + 5) in C. Since + is a symmetric operator, that means 5[array] is a valid, equivalent expression.
Additionally, I don’t think it’s reasonable to extrapolate from the mess that is systemd to all C/C++ code. Some fantastically reliable systems have been developed with them.
> "Frankly on windows this is AFAIK a mostly-unheard-of technique. No one does mapping."
Unheared by you.
In a world consumed by Electron apps and Javascript, lots of people couldn't care any less about performant IPC, sharing data across processes, and multiprocessing in general.
> "Unique_ptr is such a fundamental type that, if one claims to be a c++ programmer, one has to know it and understand how it works."
No.
Those utilities weren't standardized before C++11. People wrote their own implementations before that. People had to understand stack unwinding and scoping, memory, RAII, design patterns that relate to allocation/de-allocation of memory, ownership transfer.
Then came in the people that decided it'd be a great idea to start quizzing others about C++11 concretions.
When the embedded project I've been working on since 2009 decides to upgrade compiler versions (which will be approximately never). Or when I change jobs or move on to a different project.
My workplace is still using c++98 since upgrading compilers was too much work and a compatibility risk for our customers. This year I spend almost a month getting new versions of our dependencies to run with the existing setup, cutting out various features along the way. Avoiding that upgrade is no longer beneficial for us.
Move semantics are nice, but they aren't critical or even fundamental to understanding C++. I would bet most C++ programmers do not fully understand them.
As a veteran of three decades of C++, I've seen a lot of new hotness turn into old and busted and removed. There's plenty of dark corners where you don't need to look to get a job done.
> "So it has been almost a decade. How much longer before the whole move semantics addition to the language specification becomes relevant to you?"
I'm not debating the usefulness of move semantics. I'm debating the weight being placed on them in these so-called "C++ interview questions". Wouldn't it be better to discuss the actual problem, rather than a concrete solution we ended up having in C++11?
> Those utilities weren't standardized before C++11.
That's quite a disigenuous statement. Work on C++11 started after the approval of c++98, and the c++0x smart pointers have been implemented and available for quite a while before C++11 was finalized.
I would question where you learned the "theory" behind modern c++ ownership semantics without ever encountering std::unique_ptr, given that it is the reason move semantics were added to the language. As far as I can tell you would have a hard time even finding a source on post c++11 ownership semantics that doesn't mention std::unique_ptr at all. So not knowing about std::unique_ptr seems like a good indication that your sources were c++98 based, making your "theory" a decade out of date.
I once worked for a startup where the female CEO did a few things that got close to the line. Not illegal or immoral, but enough to make me wonder if a similar female leader in a similar situation would cross the line towards her male employees.
The reasons are not unknown. The vast majority of VCs are male, and the majority of known harassment incidents have involved male-on-female interactions. This is not to say that male-on-male and female-on-male harassment doesn't exist. But if this is one of the first surveys of its kind for YC, makes sense to design it around the population that currently seems to be the most affected.
Audio latency issues on PCs are largely alleviated thanks to better softwate (device drivers that shorten the path to/from the hardware - such as ASIO4ALL) combined with better hardware (soundcards interfacing over PCI-E/Firewire/Thunderbolt/USB) at affordable prices. Plenty of audio cards today will offload computation off the CPU via discrete DSPs.
On Android devices (and smartphones in general) - hardware would be the limiting factor.
Not even close. You can have 1 millisecond latencies with a well configured kernel (PREEMPT), directly talking to ALSA.
I'm talking both Qualcomm and Exynos CPUs.
It just takes a SCHED_FIFO task with forced CPU affinity.
Android does not make it easy to get one.
There are some other hardware issues, like audio input and output using separate clocks on Qualcomms, but that's at most one extra buffer.
Speaking of this, you can have sub-millisecond latencies on Beagleboard. These devices in phones are vastly more powerful.
> "It just takes a SCHED_FIFO task with forced CPU affinity. Android does not make it easy to get one."
Are you aware of any non-RTOS that "makes it easy to get one"?
> "Speaking of this, you can have sub-millisecond latencies on Beagleboard."
I did not make myself clear, so I'm taking the blame here.
I'm mostly interested in the use case. If it's just capturing audio alone, this number makes sense, and no fancy hardware is necessary.
The moment we're introducing some-kind of processing, or even logging the stream to disc, buffering becomes necessary and latency is introduced. Assume audio stream read by a "user-mode" service, then redirected out through headphones - are we still talking sub-millisecond latencies?
Audio is an extraordinarily low demand task, and hardware is not the issue, and hasn't been for a couple of decades (even DSP offloading has virtually disappeared). A smartphone has many, many magnitudes of excess performance to handle extremely low latency audio. The iPhone has had a 7ms latency for many generations, and the 7ms is not some intrinsic limit but is simply a decent balance between low power usage and ensuring no glitches.
The problem on some platforms is one of architectural choices and prioritization. On Android we know they started with the already arguably poor latency Linux audio foundation of ASLA, then layered on and layered on (flingers and HLAs and user-mode transitions), each layer adding its own ring buffers.
Even on Windows, on the fastest PC known to man, audio has generally poor latency (because it's architectural) which is why audio software makers have their own hardware->application drivers (ASIO).
Low latency audio was not important to the project, and they dug themselves in so deep that for many years we've been hearing recurring "We've finally solved that latency issue" claims.
Check out the Bela project[1], which has back-ends for a few different audio packages (e.g. PD and SuperCollider) that totally bypass the kernel and handle the audio callback directly (maybe from a bare-metal ISR, not exactly sure). That’s how they get sub-ms round-trip latencies.
Completely agree. Hardware itself doesn't introduce any noticeable latency, it's just whole lot of buffers at various software layers because audio stuttering and power consumption is always prioritized over latency. Some devices actually support low-latency in audio drivers by conforming to Android Professional Audio. I haven't yet gotten chance to test any of those devices if improvement is noticeable.
What about all the delays from the use of java? Even if your audio app is in c++ for performance, it's still competing for resources with many other java apps easily using gigabytes of ram just idling. I don't see any way to mitigate that.
I can "feel" the lag in the android experience and it's the same lag that I get from desktop apps written in java. It's not just FUD. Almost always when there's a memory-bloated application it's written in java. Hell, adk won't even run unless you increase the -Xmms setting to 4+ gb.
People rightfully pointed out that tablets are plenty powerful to do DSP type applications, but something is consuming all the resources. I'm just saying what that something is.
Don't confuse the language with the ability to program.
I lost count the amount of times I have fixed junior code doing what should be background stuff written on the main thread, for loops instead of System.arraycopy, allocating memory in loops and lots of other stuff due to lack of proper teaching.
As for Android, the real time audio stack is fully native and Google had to learn from Samsung how to do it properly.
I don't quite resonate with the analogy here. It's about using the right tool for the job. Most small-scale personal projects, by their very definition, don't require an orchestration framework.
[1] https://www.qualtrics.com/uk/customers/