I don't know of a single GCP product that's been shut down, although I could be missing something. But their track record for GCP is, I think, what you would want a cloud provider's record to be.
(I should mention that I work for GCP. But this is just based on my own memory.)
Azure is our cloud provider. Interface is flexible, since our current implementation leverages Prisma ORM connected to Postgres & SQL Server. We're going to have to rebuild it anyway.
Got it, thank you! CockroachDB is the only one I know offhand that does what you're looking for. Another comment mentioned Vitess, which might also work.
It seems like there are a lot of options for large scale analytics, but I don't know a lot for high throughout geo-redundant transaction processing.
Vitess maybe? from what I have demoed and for being open source that’s the one I would choose. Unfortunately there isn’t a Postgres compatible one that is as mature yet and certainly not free.
I mean to be fair Google has also tried very, very hard to improve home internet access for people, to the point of setting up their own ISP and running municipal fiber networks. That's a pretty big try, and I really wish it had taken off beyond the places where Google Fiber operates.
(NB: I work at Google, but this comment has nothing to do with my work.)
When it really comes down to laying Fiber isn't a job requiring innovation, it require hard man hours to pull cables.
In the end Google tried to innovate around the hard work by burying cables around 5cm deep or so in stead of a meter, which turned out to be short sighted.
I thought Google was mostly buying up dark fiber (I think that's the case in my city at least). Where did they run their own, and what was the impact of the shallow runs?
Rumors are Azure DevOps and GitHub are converging "soon", and maybe "Project Cyclops" wasn't specifically to improve Microsoft/Windows repo performance, but it seems reasonable given the convergence rumors it could be a step in the direction of preparing for/migrating the repo to GitHub. Of course Microsoft doesn't want to panic Enterprise developers on Azure DevOps just yet so they are extremely quiet right now about any convergence efforts, so I take the rumors with a grain of salt. It is something that I wish Microsoft would properly announce sooner rather than later as it might provide momentum towards GitHub in capital-E Enterprise development world (even if will panic those that are still afraid of GitHub for whatever reasons).
Someone close to me has Celiac disease, and getting an official diagnosis will let you do more than just eliminate gluten. For one thing, you could participate in one of the multiple ongoing drug trials for Celiac that are looking for participants.
The Celiac foundation has a list of them if you're interested, but you'll need a Celiac diagnosis to be eligible.
Are they at a sufficient point to be worth enrolling in? I've reviewed the foundation list but beyond some promising phase 3 items it was short on what's next.
I’ve never seen one in open source but I’ve written a couple over the years and seen a few others. It forces you to solve many difficult metaprogramming challenges elegantly so it is a good excuse to achieve some mastery. I’ve burned more hours than I care to admit trying to figure out how to achieve seemingly simple results. Also, until C++17, this was an exercise in masochism due to the limitations of the expressiveness and type inference, which is why so few people tried. Basically, there were a lot of unpleasant rough edges that went away with C++17 because the language wasn’t smart enough previously. C++20 will also be a big step forward for this, whenever the compilers become usable.
One thing to understand is that these libraries are highly opinionated about the abstract architectural model. It doesn’t make a lot of sense to mix components from user space and kernel space designs, for example, though both have advantages separately. It tends to be more along the lines of one abstract architectural model and enormous amounts of elasticity and flexibility within that model based on the data models, workloads, transaction semantics, and hardware you are targeting. You also still have to write a spec that makes sense from a database engineering standpoint.
At least for me, there are still significant parts of a database engine for which I haven’t built a metaprogramming scaffold. That is largely a matter of time and effort. Other parts I haven’t had to write much code for years but still get state-of-the-art implementation to spec.
The problem with such fancy meta programming in C++, is that while it may be a thrill to program for a C++ wiz you may end up with making something that is completely unmaintainable, because nobody else can grasp what you wrote.
Compare to writing a database system in something like Go. Sure you make end up with 50% more code, but you could have anybody up and running reading and understanding the code within 3 days.
IBM have done studies of this and found that fancy code is not all that valuable. It ends up falling in disuse over time as people don't get it. I have seen my fair share of C++ code which simply had to be tossed because nobody at the company could understand what the previous whiz kid had written.
That’s the beauty of the evolution of C++. Metaprogramming has become increasingly maintainable, as making it a first-class capability of the language is a core focus of the people designing it. The learning curve is finally low enough that it is practical. I think it is fair to say that C++17 is the first version where that is true.
You can’t write a comparable database engine in Go, fundamentally. The language lacks features required for competitive performance. The code difference will be much more than 50% trying to get the most out of what Go is capable of in this domain.
The point of writing code this way isn’t to be clever or for a “thrill”, it objectively produces superior performance, reliability, and maintainability. Defects scale with the number of lines of code regardless of language. Type safe code gen is a powerful tool.
Just look at the new features in C++17 that simplify the use of templates, like variadic templates, constexpr everywhere, automatic type detection working together with templates, etc. The last versions of C++ are mostly about making using templates easy, which allows programmers to operate at a different level than languages such as Go and Python.
Imagine if Barnes and Noble had done it, and you could drive to one of their stores to quietly sip a drink and peruse the new machines they had provisioned recently.
I think Microsoft's strategy (I work there, but I don't have any special knowledge of this) is to be the best possible platform for development in general, not just machine learning. That's why they bought GitHub, and it's also why they have WSL, remote debugging on Linux, etc. I expect they will go wherever they think developers want to be to achieve that goal.
I can see this hurting traditional Linux graphics systems and development tooling, but I think the main dynamic driving this is not proprietary-vs-open, it's Microsoft's ability to coordinate large numbers of developers, because they have a massively more united org than random hobbyists.
If you combined all of the efforts of all of the people working on Linux tools for the past 20 years and got them working on the same thing, it would probably be an amazing stack, and Microsoft would probably just support it. Instead, the open source efforts have been scattered among a lot of different ideas, which means there hasn't been a single windowing toolkit, IDE, or whatever for people to rally around and all contribute to. And as a result, Microsoft can show up, get a few hundred people pulling in the same direction, and have the market-leading product not through any dirty tricks, but just by putting in more coordinated effort than anyone else.
Agreed - I will note however how badly Microsoft has bungled this same story on Windows itself. They went from a very high productive and unified development story in mfc/winforms to a super fragmented space.
I am getting going with WPF. (But that was then followed by maybe Silverlight? Then HTML with bindings?). Now we have been told that UWP is the big future (basically Windows Phone framework?). Gah! XAML? I mean, we went from a drag and drop unified and simple and extendable dev experience that was actually fast to develop into this GUI nightmare - all produced by ONE company with total command and control over their developers.
It tells you something that google web browser is almost a more stable and targetable platform than the native Windows platform (chromium / electron). I mean, that is desparation right there. At least someone was smart enough at microsoft to just give up on IE even on their own platform!
If QT had a bit of a simpler onboarding flow or linux was more unified I think there actually is an opportunity to actually be a good standard for line of business apps that want snappy responsiveness etc. But I just can't believe how badly Microsoft has screwed up their GUI story for the developers they claim to care so much about.
Add C++/WinRT to the mix, which dropped the productivity features of C++/CX, with the team that managed to kill it telling us to just wait for ISO C++ to catch up, while dealing with IDL files pre-.NET style.
Naturally the reception has been less than stellar and they are finally acknowledging that waiting isn't not an option and something is being discussed, however don't expect any improvements in 2020.
My thoughts exactly on QT! A good bridge to C# and a good "get a button on a page that triggers "onClick" quickstart workflow" and they'd be in a great position.
There is a lot of confusion on their site between QT creator, Design Studio, bindings, etc etc - so simplifying all that would be great.
They could target C# and (maybe) python (since it already is developed) for the windows story.
This puzzles me as well. Win32 is fine. If you download Dolphin Smalltalk or Corman Lisp or Free Pascal/Lazarus, they're still targeting Win32 for GUIs. Especially since, with Wine, Win32 GUIs are effectively cross platform.
What boggles the mind is the insane peoplepower they have poured into the redo redo redo here. They spin up huge documents on MSDN, platform toolkits etc.
Instead of trying to chase every random idea out there if they'd just gone deep on Win32 (now effectively x-platform) I think they could have gone a LOT further / faster. The new setups are also super complex and feel a lot more brittle by the time you build out all the toolchain.
Maybe my memory is going, but powering up VS and doing stuff was quick on windows in the past, now it's GB's of junk to just say hello world.
Just to throw my 2 cents in I appreciate having the choice between 10 mediocre programs (3 of which are actually quite passable!) vs. being tied into the one all-inclusive solution with maybe a few knobs to twist and that's it. That's what drove me away from Windows.
I guess it depends on what you're looking for but I'm happy with what I've got. But I meant more basic things like window managers and desktop environments. Systems like Debian just allow you to build things the way you want using the components you want.
> the main dynamic driving this is not proprietary-vs-open,
Some would say that's the whole point. Not which company wins, not even which standard wins, but that openness wins.
Of course the fragmentation strategy can be successful against such a push. It's bascially the oldest trick in the book. That doesn't mean it will win in the long run.
That beat Microsoft dead in the server market. In academic and scientific computing. How about the embedded market?
From my perspective the random hobbyists have Microsoft backed into a corner, with only their hold on a narrowing desktop market share remaining.
How many 0-days has Microsoft left hanging open for the better part of a decade while trying to figure out how to defeat open source software?
I think that if Microsoft focused on being the best of something they'd not have a problem right now. I think they focused on being the only of something, trying to make sure no one else could enter the market. I think now they're trying to use money to make themselves an asset in that market.
Those hobbyists know how to build tools they want; that translates well into server related stuff.
Microsoft knows how to build tools that untechnical people can use. They are the best at this; that's why they have the desktop market. If Microsoft can make user centric tools that have at their backend Linux tech, then they will have the best of both worlds.
Any idiot can click around Excel or Active Directory and get something good enough. That's what Microsoft is good at facilitating. If Microsoft can make the rest of the Linux stack as easy to use as visual studio code, then why should a random busy sysadmin or webdev bother with buggy Ubuntu? Windows 10 will have everything they need, with more convenience.
Microsoft isn't backed into a corner: you're resting on your laurels. They're about to Embrace everything about Linux that's awesome. Get ready for what comes after.
let's consider PowerShell for a moment. when it came out the bulk of windows admins noted as much as the command prompt changing its Color, and the bulk of Unix admins did not even pay a cent, cause they are so happy with existing Unix tools.
no one noted that PS is literally taking 'the best of Unix shells and then some', putting this on steroids which vastly simplifies all DevOPs and does so in a fairly structured-OO-fancy. Even even the worst PS1 program is practically more comprehensible than arbitrary /etc/init.d script. And it pumps objects, not streams that you need to through Regexes against to parse.
It's been very clear that MS is very well into the idea of embrace opensource, because there is value to it, which even blind opensource advocates can not properly evaluate and then put to work.
The non-developer crowd blindly believes that open source is about free software and daring David-vs-Goliath, but open software actually has cost, and this cost can be quite high. at the end - someone pays the bill.
For example - number of big organizations put money into Postgre and it's why it's still there. Put money in RedHat, do put money and effort for linux kernel, and I really hope Mozilla will transform soon to actually be able to sell some stuff. Opensource is key asset in this case but likely valued are the communities around it.
By no means is open software built by enthusiasts, the most fundamental parts opensource software are built by top-notch hard-core developers unmatched in their coding skills.
> no one noted that PS is literally taking 'the best of Unix shells and then some', putting this on steroids which vastly simplifies all DevOPs and does so in a fairly structured-OO-fancy.
This is a big thing on Windows, but not so much on Linux, where you have a number of languages available - you don't need to write all your scripts in Bash - a lot of my company's automation is written in Python, which is vastly superior as a programming language - and you don't need to limit yourself to what's built into the shell - there are dozens of small utilities that operate on streams that make your life easier. The self-contained approach of a shell-to-end-all-shells makes sense in the Windows environment (where "curl" is not an executable) and absolutely doesn't anywhere else.
Putting the whole .net library as available to use as well as any CLI tool is very interesting. The syntax is a slightly on the quirk side. But not terrible and it is consistent in its own logic.
To put it to someone who has not used PS it is like taking the entirety of the C/C++ runtime and whatever lib is in your libs folder available to use without writing a bunch of wrapper bits of code to use it. Then still being able to use the existing set of wrapper bits.
MS has lost the server space, and a good chunk of the developer space on desktop to opensource and macos. To expect them to sit back and not do something would be astonishing. Of course they are going to make software for those platforms. They make software even if they do not own the platform it runs on. MS sees software as a way to get things done. Sometimes in the opensource world people see it as a lifestyle decision. Those can coexist, because they are not against each other. They can complement each other.
It brings the Xerox PARC and ETHZ workstations REPLs into Windows.
Basically everything in the OS is available for scripting, regardless if it is a DLL, COM, .NET library.
And the shell is a proper programming language with modules support and uses structure data as default.
This means you can easily make use of any OS feature or even automate existing GUI applications via COM/OLE, or their own libraries.
And there is an OS provided IDE as well, with integrated debugger.
So overall one gets a little closer to what the Lisp Machines used to be, just with a mix of .NET and native libraries.
Yes this would be possible in UNIX, but given the fragmentation and POSIX culture, it will never be adopted at scale for it to work the same way as Powershell does on Windows.
> Microsoft knows how to build tools that untechnical people can use
They have a pretty hit and miss history there. They got a few things (mostly) right and leveraged them from there. Every attempt they made to replace the hierarchical file system as a way to store files on your computer failed comically, almost as comically as Microsoft Bob or Microsoft Network.
> They are the best at this; that's why they have the desktop market.
One could say they did that by suffocating the competition with legally dubious tactics until they effectively had a monopoly on corporate desktops, which gave them the push they needed to leverage it into a de-facto monopoly on all things x86. Note that for anything that's not an x86 box they have approximately zero market share.
> Microsoft isn't backed into a corner: you're resting on your laurels. They're about to Embrace everything about Linux that's awesome.
I agree with you on that - they aren't going the way of the dinosaur quietly. They'll do whatever they can to gain relevance and force other players out of the market so they can enjoy a de-facto monopoly like they did before.
>I can see this hurting traditional Linux graphics systems and development tooling, but I think the main dynamic driving this is not proprietary-vs-open, it's Microsoft's ability to coordinate large numbers of developers, because they have a massively more united org than random hobbyists.
As one of the people using this wonderful free technology, I would like to actively state that I will fight MS and any other Tech provider remotely involved in destroying my most productive way of working, and trying to supplant me back into a machine that sells only advertising.
I didn't pay for a machine to sell me advertising.
"Oh you can disable ads".
Why should I need to?
On that note:
>"If you combined all of the efforts of all of the people working on Linux tools for the past 20 years and got them working on the same thing,"
Why don't all car manufacturers focus on the same thing?
Why is there more than one company for anything then?
Shouldn't the government just run everything then?
Who needs competition and a free market?
But, really, the reason we all know deep down inside is:
Because if we did that we would end up with Microsoft, a company that builds AI to find novel ways of forcing you to interact with advertising, somewhat akin to a Black Mirror episode.
I don't know of a single GCP product that's been shut down, although I could be missing something. But their track record for GCP is, I think, what you would want a cloud provider's record to be.
(I should mention that I work for GCP. But this is just based on my own memory.)