Years ago I was part of a project that became a startup. We got a Bizspark license and originally developed for MS SQL. Later we added in support for Postgres/MySQL. Running unit tests against Postgres/MySQL was pretty easy on my Linux box, but for MS SQL I'd have to start a VM and provision SQL Server 2012 (at the time).
I jumped on the Linux version as soon as I heard about it. I never got an invite to the preview, but once the Docker container was released, I fully integrated it into our tests:
I can now pull up all three DBs in containers (mysql/pgsql/mssql) and three instances of BigSense and run tests over all three in a deterministic manner.
I had started working on automating a Windows Server with automatic SQL installation in Vagrant, but that was starting to look really complicated. If it wasn't for MS porting their database to Linux, we probably would have dropped it from the project.
He said that they "originally developed for MS SQL." and then "Later we added in support for Postgres/MySQL."
Sounds like they develop a product that can use multiple RDBMS back-ends. Also, I'm guessing that since 90% of the businesses out there use Microsoft products, you would probably want to support their products in such a venture.
On a personal note, I find anything that's not SQL Server to be tedious to work with due to the lack of high quality GUIs, client tools and certain features.
For instance - did you know that Postgres can't easily return multiple resultsets? In SQL Server I just write one procedure containing multiple SELECT statements and my client code can get all of those resultsets with only one call to that procedure. This one feature alone cuts down on all sorts of boilerplate code and trips to the database.
honest question, when would you query several tables without joining them somewhere?
you can do that on postgres as well btw, my first idea would be to create a function [1] and just throw the rows together. still can't imagine a usecase for that though, i'd always want to get them separately if they're unrelated.
you're correct on the GUI side however. Everything i've tried is a buggy mess. i've actually mostly given up on that front and just went with pgcli [2]. its pretty good for ad hoc queries. But it doesn't really help if you're trying to write a function. Its just nice for selects with lots of joins or nested selects.
The databases I build exist only to serve the application and I prefer to tightly couple the data access to the database itself, thereby addressing the object/relational impedance mismatch in one simple stroke.
I usually write queries that return multiple resultsets when the caller needs to get a bunch of data from different tables all at once. (So, all of the time.) Instead of sending each table query to the database server individually, I just query one "stored procedure" in SQL Server. It saves a lot of round-trips on the network and there are other benefits too.
For instance, say my API needs to take the relational data from tables `Customer, Order, OrderItem(s) and OrderShipment(s)` and return them as a JSON object `{order:{customer: {...}, items: [...], shipments: [...]}}`. Or, say I need to render a PDF using those same tables. In either case the client needs to get a whole graph of data out of the database and with SQL Server, they can only send one little query to call my procedure: `EXEC dbo.GetCustomerWithOrderDetail @OrderId=999;` instead of sending 4 or 5 single-resultset queries.
Sometimes I do also end up sending 2 or 3 procedure queries separately, for instance the client might send a query for `GetCustomerWithOrderDetail` followed by `GetPdfTemplateWithDetailForRendering`. So, I get code encapsulation too.
The benefits of this style are exponential in my opinion. Most of the time, my client apps don't even need to know the names of the tables because they are calling procedures, not embedding "SELECT * FROM TABLE" in the client code. The only minor drawback is that the client does need to know the order that the resultsets are returned in ahead of time.
I think there are a few ways to attempt this in PG but none of them seem to come very highly recommended. I looked around just now and found this post:
You can see the programmer wants to do what they need to in a very simple way, similar to how it would be done in SQL Server. However, it's not possible. Here is an article that explores some of the options in PG and the problems with each approach:
Interesting. I worked on a larger project that used Oracle and a similar approach. The maintainers of PG actually advocate for this abstraction as well (maybe not the multiple responses, not familiar with that aspect) but most developers and frameworks ignore it.
> honest question, when would you query several tables without joining them somewhere?
You might be "joining" client side if you had something like a master/detail UI. Network round trips are relatively slow and to be avoided if you can (n+1 errors being the pathological case):
I'm making $86 an hour working from home. I was shocked when my neighbour told me she was averaging $95 but I see how it works now. I feel so much freedom now that I'm my own boss. This is what I do, ====http://www.smartfinancemedia.com/?682
A rewrite, or a "rewrite"? I've seen plenty of press articles about something MS "rewrote" from the ground up, including windows itself, and they are never true.
Unless they actually started from a blank source repository then it was not a rewrite.
i was there, from 1995 on. It was a real rewrite. sybase's optimizer was the biggest piece of shit ever. losing predicates, functions that called each other multiple times to rewrite the tree. We didn't have docs on the page formats, we have to reverse engineer it. The only piece not completely rewritten in the first release in 7.0 shipping in 1998 was the tree/algebraizer that was the input to the query processor. it was so messy and horrible even our team of champions couldn't do it in the first release.
It would seem a lot of the protocol was kept though, no? IIRC there wasn't much diff between the mssql 6.5 protocol and mssql 7 protocol. I had been working with the freetds project in 1999/2000 and spent way too much time learning about some of that, although... it was 17 years ago and details are fading!
> sybase's optimizer was the biggest piece of shit ever
Sybase even in the 11.5 days was horrible. Even with updated stats, it would drop off the cliff and you would suddenly have queries that took less than a second go to multiple minutes. It was the database where I had to force a lot of indexes. It really got confused with simple reference tables. Temporary tables were just plain problematic unless you did the trick of declaring them in the outer procedure and then calling another stored procedure to actually use the temp table.
I suppose there may have been some old code in there to maintain backwards compatibility with e.g. the T-SQL parser, but it was C before and C++ after the "rewrite"...
I checked a few (https://en.wiktionary.org/wiki/rewrite) they all seem to indicate that it's writing something again. Some included revise as a synonym, but the parent said "complete rewrite" which would exclude that. Otherwise where is the cut off line? Can I rewrite 1% and call something a rewrite?
I never knew the definition of rewrite would be so controversial.
Don't down vote him. More often than not those are just normal refactoring with PR attempts to get rid of old license info. See IE7, it got rid of Mosaic license info yet even IE11 and early Edge contains web render code and mouse behaviors that can be traced back to Mosaic web browser, where it forked off. The same is with game engines, Valve's Source engine 2 started as a fork of ID's Quake 1 engine and it's still evident even in 2017. Or Dunia engine from Ubisoft traces back to FarCry 1 engine from Crytek. Or Call of Duty engine originates in Quake 3 engine from ID. Or in WinWord 2010 originates in WinWord2 code from 1990, with code that predates threads and uses fibers (known as coroutines nowadays in other languages).
I'm pretty skeptical that Edge ever contained any old Spyglass code. If they kept the licensing disclaimer in those early versions, I suspect it was because proving that none of the old code was there wasn't a priority for anyone.
And these can also be explained by unit tests .. you keep the old unit tests and rewrite everything so those tests pass. Sometimes that means getting some of the same weird quirks or gotchas, but hopefully refactored so they are all in one place and clearly documented.
Sybase had a version running on Linux back in 2003. Used it for a big analytics project. It blew away SQL Server in term of reliabilty. No need for regular restarts.
I don't know which version the parent looked at, but we had a mix of SQL Server 6.5 and 2000 servers. Those on 6.5 suffered from all kinds of phantom errors which a regular restart schedule fixed. SQL Server 2000 on the other hand was solid.
similar experience - worked with 6, 6.5 and 7 on NT 3.5 and NT 4. 4 was better, but it often was 4 itself which ended up needing rebooting, vs SQL Server itself, but... when one's on the other, does it make much of a difference? There wasn't an option to run MSSQL 7 on anything else, IIRC.
I do remember 7 on 4 was much improved re: requiring reboots, and the projects I was on ended up doing it periodically more out of proactive concern re: NT4 than real demonstrated problems with MSSQL 7. 1999 project had 80 NT servers running IIS reboot on a schedule every few hours with a big load balancer in front. 70+ up at any one time, always a handful being reboot and coming in and out of the pool. If we didn't proactively do it, they'd just go down anyway. IIRC that spoke more to IIS than NT but again... how can you necessarily tell the difference? Not rhetorical, there were probably good ways to dig in and try to determine root causes (and I think some folks tried or did) but it didn't mean we could actually do anything about it (like patch and recompile the NT kernel).
I'm still unsure of the usefulness of SQL Server on Linux. I don't see the point of running SQL Server on Linux (I'd rather choose PostgreSQL or something), nor do I see the point of choosing Linux if I'd already settled for SQL Server.
I don't think this (in the end) is anything more than a marketing trick, there to give the illusion of choice.
This is not uncommon in ISVs, btw. There are many commercial offerings that have a Linux version, crippled in so many interesting ways that it makes it pointless. I'm a Linux person but I advocated against choosing Linux versions (of different products) many times in the past. Actually, that means the marketing trick works.
In my experience, software always has a primary plaform where it shines, and the other "supported" platforms are always stepchildren.
That's because you're missing the point. MS isn't competing against Postgres or MySQL, they're competing against Oracle, DB2, and Hana. All of which have a variant that runs on Linux. They need to be just as flexible as their real competition if they want to continue to expand market share.
Or just reworded it: "I don't think you are not seeing MS's real objective here" is probably what he meant, in the tone he thought it, he just wrote it in a more direct manner that made it seem more aggressively negative.
I think for .net developers, this makes more sense. You have an existing .net app, built to talk to MS SQL Server, if the latest version of .net can run on Linux, but your DB can't then you're faced with either managing two OS flavours, or just ignoring the Linux compatibility.
Ignoring Linux compatibility would have knock on effects because Linux is now the platform for so many other tool, e.g. Docker.
Regardless of how easy the 'upgrade and migrate to Linux' story is right now, I think it's vital that MS started down this road. Otherwise the .net framework would be [seen as] finished now, and people would start planning to migrate off it.
This is the situation I'm in with a toy app I built. It is running .NET Core, talking to SQLServer, and running on Windows Server 2016. I want to migrate the entire application to my Debian box and without SQLServer on Linux, this would be much more painful.
I think a large part of it is supporting cross-platform developers who might be mainly Linux based internally, so someone writing apps in node primarily on Linux (for example) can more easily test against MS SQL Server (as well as postgres/mariadb/...) and add it to the "supported" list without that being quite as much hassle as it might otherwise be. SQL Server working on Linux potentially increases its catchment area for devs and projects noticeably. I see that as a much more likely use case than SQL Server on Linux in production.
Now that practically all the features are available in the standard edition (depending on your support and scale-up/scale-out requirements) it could end up used in production for licensing cost reasons particularly if the availability/DR/scaling features work well (where previously if you needed Enterprise edition the cost of windows was a drop in the ocean - Standard isn't exactly pocket money cheap but still...).
Another PoV could just be that these days interpolarity matters much more to MS than it used to, as their key product focus is moving further away from the OS & individual services and more onto the platform with Azure - they don't care what DB engine you run on which OS, as long as you do so on their platform - hence moves to support postgres & mysql in the database-as-a-service-upon-platform-as-a-service manner that they already offer for SQL Server. Of course they'd prefer that you used Windows and SQL Server but not wanting to (or depending on the project, not being able to) use one needn't get in the way of using the other, not should not using one (or either) get I the way of using Azure.
As much as I love PostgreSQL, which is a lot, MS SQL still has some exceptional functionality around business intelligence and handles large reporting warehouses with ease. We just purchased three UCS blades for a new SQL Server deployment to consolidate our existing databases and handle the data warehousing project we are starting, here I am wasting days writing ansible modules and roles to set everything up when I could just be templating out a couple config files if all the SQL Server components ran on Linux.
I'm incredibly happy Microsoft is bringing SQL Server to Linux as a DevOps person, I'm really hoping SSIS/SSAS/SSRS makes it in eventually because they're the only thing keeping me from saying we should be deploying the new cluster on Linux instead of Windows.
I have been using sql server since 6.0, the standard edition is a steal for the price. Been running critical systems on it for two decades and it's been an absolute rock since the version 7 rewrite.
> I have been using sql server since 6.0, the standard edition is a steal for the price.
Especially since 2016sp1 when they unlocked a lot of previously enterprise edition only features in standard edition. The scalability is still locked down a bit but those limits have crept up over time also: there is a lot that you can do before 128Gb RAM & 24 cores spread between up to 4 CPUs becomes limiting (core engine only limits there, OLAP services, reporting services, and the mem-optimised engine parts have extra limits on SE compared to EE).
Also a chunk of enterprise licensing is in support which if you are truly at that scale might be worth paying for. But if your company/product isn't there yet that is a cost worry to put off to the future, and as developer edition (which feature-wise is enterprise edition, you just can't use it in production) is essentially free you can test in advance to see when/if that expenditure is going to be worthwhile.
Of course it doesn't beat Free on price, so if postgres has the features & support you need, which for many it has, then it is far from an open/shut case. But compared to the other commercial products in the same market...
> it's been an absolute rock
Agreed. I can't think of another product that I've used nearly as much which has caused us so little hassle over the time. It certainly hands MS's other products their arses in that respect.
Indeed, version 7 came with the best improvements in features, scalability and stability I ever witnessed in a product. A bit later, SQL 2000 also broke new ground with its OLAP functionality.
I don't want or need windows server and certainly don't want to pay for cals for my users. However, I'm very happy with sql server and will pay for that running on Linux . My middleware is go and I can cross compile it to Linux from my mac. I would have no code to rewrite to make it happen
Yes. I was saying I didn't want to pay for windows server and any cals I would need for my users, I'm perfectly fine with paying for sql server cals. Just not windows server cals.
Microsoft is playing a fantastic Linux game with putting Linux userspace on the Windows desktop where drivers and UI are far better than the Linux drivers and UI and putting SQL Server on Linux server where the Linux kernel is much stronger. They know their strengths and weaknesses and not afraid to play to them.
Every application looks different (yes they used to blame Linux/X11 on that one). It has two control panels (or three maybe), two web browsers shipped with it.
Takes more than a minute to boot on a new and pretty formidable laptop. This is the fresh factory install.
Can freeze the desktop while apparently doing something under the hood (installing updates? scanning malware? summoning the devil?), without any indication as to why, and not come back in five minutes.
Seriously considering overwriting it with Ubuntu even when it's aimed for a non-technical user.
>Every application looks different (yes they used to blame Linux/X11 on that one). It has two control panels (or three maybe), two web browsers shipped with it.
So you want your cake and you want to eat it too? It's pretty well known that as part of the new iterative release cycle they're slowly moving things into the new "control panel". That's not going to happen overnight, and unless you want to go back to only seeing new releases every 4+ years, we're going to have to be patient.
>Takes more than a minute to boot on a new and pretty formidable laptop. This is the fresh factory install.
Then something is seriously broken with the laptop, or you're running off a spinning drive. Regardless, if boot time is your primary factor in choosing an OS, you're doing it wrong.
>Can freeze the desktop while apparently doing something under the hood (installing updates? scanning malware? summoning the devil?), without any indication as to why, and not come back in five minutes.
Between that and your boot times, I would imagine you've got a garbage hard drive. I've never had windows "Freeze the desktop for 5 minutes at a time". A quick google search also finds no relevant posts on other people experiencing the same behavior. Windows updates wouldn't freeze your desktop. Heck, video card driver updates will cause your screen to black out for a couple seconds, but not freeze for 5 minutes.
> 's pretty well known that as part of the new iterative release cycle they're slowly moving things
Linux DEs were blasted for things like that, but now they're suddenly OK for a multi-billion-dollar company's flagship product?
> you're running off a spinning drive
I also happen to walk on the ground and climb up the stairs, being aware of alternatives. That's what I've got in a shop and it has MS Windows logo glued to it.
> I would imagine you've got a garbage hard drive.
I imagine that's what gets sold these days. BTW, I've also bought Xiaomi phone for $200 and it's a real snap.
>Linux DEs were blasted for things like that, but now they're suddenly OK for a multi-billion-dollar company's flagship product?
Yes actually. It's what users asked for, and I rather appreciate it. Linux DEs were BLASTED for breaking things. MS isn't breaking anything as they make the slow transition to the new panels. If you want to use the old control panel, everything is right there where it always was. If you want to use the new panel it will get you 90% of the way there on day-to-day tasks.
>I also happen to walk on the ground and climb up the stairs, being aware of alternatives. That's what I've got in a shop and it has MS Windows logo glued to it.
You're seriously on a technical site claiming you're pissed that you bought a dirt cheap laptop and got dirt cheap components? It's 2017, if you aren't willing to crack it and put an SSD into it, don't complain about performance. The laptop will be slow regardless of OS with a spinning drive.
Having a "windows logo" makes no guarantees of performance. Are you also pissed you can't run games in 4K on your $300 laptop?
Whoooa! I've now tried to find when you can change the hotkey for changing keyboard layout. It turns out, you can't find it now. New control panel has nothing and drops you into the old one immediately, which has nothing too.
It was working under Windows XP. Obviously you can't find how to configure anything in Windows these days without extensive googling.
> and unless you want to go back to only seeing new releases every 4+ years
I was fine with that, I like my desktop to just be there and get out of the way, not something that has to impress me with shiny new features constantly. Even the ported apps aren't consistent though, look at the mail app and the hideous background image they put in it.
> I've never had windows "Freeze the desktop for 5 minutes at a time".
I certainly have on an intermittent internet connection, the start menu can freeze for several minutes. That isn't good enough for a basic OS feature that shouldn't even have an internet connection. On the same connection it can also take several minutes to login to login to the machine because it's tied to the MS account.
I bought my son a new laptop earlier this year. It is something like ten times faster than his old Linux laptop (my old hand-me-downs), yet it boots slow and is sluggish with Windows where his old Linux setup was fast. I haven't had it freeze, but I've spent far more time solving problems with his new laptop in the last few months than in the last few years of having him use Linux. If it wasn't for some of the games he likes that aren't available for Linux, I'd have insisted he stick to it.
Maybe they're not common problems, but it's certainly not just him that find it gives a poor experience.
If a new laptop is slow something must be wrong. Such as it having a mechanical disk. It might not seem like a big problem but it's almost a complete no go with win 10. If there are performance issues/freezing on a machine with 8GB and SSD then something is wrong and you should contact the manufacturer, chances are a bios or driver update will fix it
> Such as it having a mechanical disk. it's almost a complete no go with win 10
Why then do Windows 10 laptops get sold with HDDs? You come to store and that's what you get out of it.
Also, Linux doesn't mind running from HDD. Not ten years ago, not now.
Lesson to MS: Get your act together or get out of this business. Come back from make-believe world. MS is running on make-believe for the last 10 years. Windows 8, the whole Avalon story, Windows Phone and now this Windows 10 "which only works well on SSD but never discourages anybody from getting an HDD laptop". Supposedly we should learn about this by telepathy or something.
>Also, Linux doesn't mind running from HDD. Not ten years ago, not now.
That's factually incorrect. OSX, Windows, Linux, it makes no difference. You cannot hide the 8ms of response time that comes with a crappy laptop spinning drive. If you spend all your time in a web browser with ample amounts of memory... sure. If you're doing ANYTHING that requires disk I/O - whether it be launching a game, or opening a large directory, you will experience significant lag time with a spinning drive.
Guess what, Linux distros figured out how to sprint read everything that is needed into RAM and boot under 10 seconds. Windows takes more than a minute on better hardware by seeking the hell out of it.
For some reason, my Windows 10 install reboots itself regularly. Or sometimes it freezes so the only solution is hard reset. That I'm not going to blame solely on Windows, but still, that's what I'm observing.
Yes. For years now (at least since 14.04), on HDD, Ubuntu boots to login screen (and once password is given, gets faster to usable desktop) than Win7, Win8.1 and Win10 on every hardware I've run both. And Ubuntu isn't the fastest booting desktop out there.
> That's factually incorrect. OSX, Windows, Linux, it makes no difference. You cannot hide the 8ms of response time that comes with a crappy laptop spinning drive.
Sure you can, you can load stuff in memory so you don't have to hit the hard drive every time you do something like open the start menu. Once in a while the taskbar likes to "refresh" itself and the icons disappear while the drive spins up. It's not a problem I ever had on windows 7 or any linux machine.
> Why then do Windows 10 laptops get sold with HDDs?
Excellent question. These machines should do better with Win7 but Microsoft doesn't want to sell it.
Microsoft sells windows 10 and Microsoft sells laptops with Windows 10 on an SSD. I doubt (but do correct me if I'm wrong) Microsoft sells any computers with Windows 10 on a mechanical drive.
Various manufacturers sell underpowered computers with Win10 on it, but thats hardly microsofts fault. They do that because otherwise they can't hit the lowest price segments.
What IS Microsoft's fault:
1)Microsofts "hardware requirements" only say what's necessary to use it, not what's needed for a decent experience.
2) not selling Win7 or making newer versions of windows work with older hardware.
That's a lie right here because the laptop in question not low end, definitely middle one.
> Various manufacturers sell underpowered computers with Win10
That was always part of Microsoft deal. You get your computer from a manufacturer other than MS and they still have to deliver experience, and they've failed that one.
A recent middle range laptop didn't have an SSD? Obviously it might be a config option so a buyer might opt for a better gpu instead at the same price for example, but it still makes me a bit upset it's even possible to get a hdd if the laptop isn't low budget.
So in other words we need to buy substantially more expensive computers to get a usable experience with Windows vs. Linux. On top of the Windows license.
You'll note that with respect to my sons laptop, Linux ran just fine on his much older, slower laptop.
> So in other words we need to buy substantially more expensive computers to get a usable experience with Windows vs. Linux.
Well, "Linux" is much broader than a specific version of windows (Windows 10). But yes, for most kinds of linux setup (distro, window managers etc) I'd say the bare OS definitely needs less resources on Linux than on Windows.
I do find that apart from the storage issues, Win10 actually runs about as lean (on cpu and mem) as Win7. The problem with consumer hardware such as cheap or midrange laptops is usually that it's infested with crapware from the start, something I also blame microsoft for, not manufacturers.
The OEM agreeements microsoft do with laptop manufacturers should explicitly ban them from installing any crapware such as antivirus trial versions, poorly written hardware apps and similar. I realize the $400 price of a cheap laptop sometimes includes a big rebate due to the software bundles - but ms ought to put a stop to it. Has to be damaging to their brand.
If you say that a product that is forced upon me by an automatic upgrade just needs better hardware than what I had before, then that hardware upgrade should also happen automatically, or at least for free.
Additionally, you don't get to compare two products if one of them has massively higher hardware requirements.
Completely agree that having a major version bump as an automatic is insane.
That's why they should just skip the version numbering and just make it a subscription. Then they can sunset hardware 5-6 years old continuously like iOS, but let people choose to stay on the of version indefinitely.
I feel I have to counter this. I have seen similar problems on multiple different machines. I know they are not "my" problems. I've been a Windows user and supporter for decades but my experience in the past 5 years is that it unfortunately doesn't "just work" these days.
Also: your recommendation for resolving reliability issues is to reinstall the OS? Yes I know the historical reasons for saying this, but in 2017 if the user has to re-install the OS to get it to work I suggest the problem lies somewhere other than in the user.
i am not recommending reinstall the OS. its so 90s. He/She said slow boot and freeze with "fresh factory install". Clearly having some issues.
I am also a technician and installed win10 more than i can count. Yes Old & Slow and New Budget-friendly machines are problematic with windows 10. Thats mainly because hardware. Because its new OS and getting better hardware is a must. You cant complain about a calculator can not run win10 properly. OF course 5200 rpm hdd and celeron cpu fails.
win10 is confusing? Yes. Sometimes goes hard on user? Yes. Annoying with their "windows store"? Oh very yes.
Slow and Freezing constantly? No. Proper UEFI setups works like a charm with proper machines.
It seems to me that Windows users have a different idea of what constitutes a problem, because I always hear that Windows "just works" and yet whenever I have to use Windows I run into all sorts of issues. This isn't an isolated incident, it happens to me all the time.
> Too bad that Windows 10 barely usable on itself.
I am always surprised to hear these statements. Hundreds of millions of people use W10, so it must be usable to some extent. I think it's also quite rare that the system stops for 5 minutes -- actually I've never seen that happening.
Well...I'm a Windows user since around 1992 and have done pretty much all my coding typing on a keyboard connected to a Windows machine. However, I have to say that in recent years I have experienced similar hassles to the parent -- general unreliability, sleep/resume problems, machine just won't resume from sleep, endless WiFi driver bugs, touch screens that randomly stop working, pens that randomly stop working, and on and on. Initially (3-4 years ago) I assumed this was all due to lazy hardware OEMs not fixing their driver bugs so I switched to Microsoft hardware (Surfacen) but to be honest the buggy unreliability didn't change much.
I don't use Macs so I can't say if the grass is greener there. I do have a feeling that if I were using Linux on the laptop it would be much worse than Windows, but that's just a hunch based on my historical experience with Linux and device drivers.
I use Linux servers extensively and all my code runs on Linux in production fwiw. Linux on the server is almost at Solaris-level reliability today. The comments above relate to desktop/laptop machines.
> I can count the number of times I've had the OS itself get in my way on 1 hand
I could overflow both hands just counting two Explorer things: (1) trying to figure out where MS put a setting/option if it's not on Ribbon & (2) trying to use any advanced search operators.
Then there's also Powershell (as much as it improves on cmd) reminding me of adventure games where I have to remember which of the five synonymous verbs is recognized and does the thing I want.
You don't have to remember anything in powershell as you get parameter completion and command completion by default. Powershell useability beats the standard UNIX shells (bash/zsh) in command discovery and assistance. You even use PSReadLine if you want VI keybindings at the command line.
Am I using it wrong? I realize a large majority of those aren't used frequently, but there are ~250 cmdlets, each of which attempts to have a unique-but-also-generic name.
`Get-Command` lists all the cmdlets in the current sesion. You can also alternatively hit `help -category cmdlet` which lists all cmdlets with their short alias and long name. You can do `man -category cmdlet` if you wish to page through. The first thing in powershell you should do is `help help` :).
What should they 'know'? If they can use it for their purposes then it is, per definition, usable. It's like saying that 'most cars are unusable for getting around'.
As somebody born in the USSR I can easily imagine how cars will be barely usable for getting around, and people who bother with cars will be called 'car enthusiasts' instead of 'people'.
We're there with Windows 10. We were better off with Windows XP and arguably we're much better with Android.
Barely usable is dramatic, but the multiple interfaces to do seemingly the same thing is annoying and I agree makes usability a challenge. What differentiates when a setting is in the old Control Panel versus the new one? What's the difference between Edge and Internet Explorer, and why is my browser sometimes a traditional window and sometimes a full screen, touch focused app (this is a gaming PC hooked to a TV, so no touching)? I'm often accused of being an Apple fanboy, and while I try to stay agnostic, I think some of the things Windows has done with 10 are pretty confusing, though markedly better than whatever they tried to do with 8.
You already know the answer to all of these questions, stop posturing.
Yes, Microsoft kept old versions of IE and Control Panel for compatibility - but you don't get to access them unless you really want to.
As for full screen browser, touch-optimised IE was in Windows 8. It is not in Windows 10. Your rant is 2 years out of date.
> Microsoft kept... Control Panel for compatibility
Around half settings that the internets tell me to tweak these days are on [the old] Control Panel. Another half is in the registry or group policy or some "Run..." utility and never the new one.
> you don't get to access them unless you really want to
That one is correct, I can never find the thing when it's needed again.
My boot time on an SSD + i5 on my 4.5 year old desktop is <10 seconds. The same PC boots Ubuntu in ~5. ~2 seconds of both is BIOS boot time. I haven't experienced any annoying issues with Win 10.
Obviously, there is some variation in experience, and I doubt all of it can be chalked up to the OS.
just curious: you say "new, factory fresh install"... is this factory fresh, as in "OEM" install, or your own install? if its OEM, could it be whatever crap was installed? third party antivirus, etc? i have Win10 installed on a Surface Book, and, other them me installing stuff i shouldent, the machine works well... i did have to uninstall corporate AV (the standard MS one works just as well... and its cheaper than the corporate one...) but other than that, as long as i dont install "stupid" stuff (other AV, any other crap that fecks with the system) all is good...
> Takes more than a minute to boot on a new and pretty formidable laptop. This is the fresh factory install.
Oh come on, you can't blame the OS for that. Whenever I want to play games my Desktop is loading the desktop in less than 20 seconds, it's not optimal but if it takes 1 minute there has to be something wrong with the laptop.
Agreed. No "hacker" would ever use or recommend Windows. It's awful for development, and even microsoft agrees, which is why they created a Linux sub-system.
Why would a so called "hacker" choose to use an OS that's slow, has horrible update policies, horrible privacy standards, injects ads into the main programs and start menu, requires anti-virus, etc?
Also, the idea that Windows has good drivers and Linux doesn't is asinine. My current dell came pre-loaded with windows 10 and failed to wake from sleep without me opening and closing the lid, then when it woke up, wifi would not come on and the only thing that fixed it was a reboot. Then when I used the touch screen things were going fine until I tried to select text and got an instant BSOD. Also I learned not to accidentally touch the screen and then try to type immediately afterward, or it would lock up the whole OS.
Linux just worked. Literally. Even the touch screen. I get 15 minutes less battery life but it's worth it.
> Why would a so called "hacker" choose to use an OS that's slow, has horrible update policies, horrible privacy standards, injects ads into the main programs and start menu, requires anti-virus, etc?
I don't know, but that's why I use Windows 10 instead of Ubuntu.
Please back up your polemics with facts. I don't run antivirus on Windows and never have; it's the same fundamental security model as desktop Linux, and if you don't go around installing programs from untrustworthy places (whether download.com or SourceForge), you don't need it. And at a more-than-first-order level, Windows' security model is far better.
I have patches in the Linux kernel and I strongly recommend that someone looking for a secure desktop OS use Windows instead of Linux.
They don't, since a long time ago. And for the short time they did, they documented exactly what was sent, to who, and how to turn it off (and you were able to verify that by looking at the source, recompiling yourself, etc.)
Please explain how to do any of those things on Windows - either the new 10, or the retrofitted-telemetry 7 which one has to retrofit with telemetry if they want security updates.
> and you were able to verify that by looking at the source
How much of Ubuntu has undergone a security audit by people who are looking for actively maliciously obfuscated code?
In a codebase the size of Ubuntu (and all its packages), "you can look at the source" is a mindgame, nothing more.
Also, you can look at Windows' source code. In addition to the numerous programs Microsoft has for licensing the code to universities, researchers (including security auditors!), well-known community members, etc. the source code has been leaked multiple times.
> How much of Ubuntu has undergone a security audit by people who are looking for actively maliciously obfuscated code?
You've just moved the goal posts from "we can look at what it's doing" to "we assume they tried to hide what it is doing" - which we know that e.g. Microsoft did bundling telemetry into Win7 security updates, but that Canonical never did. Nice.
I don't know how much has been gone through by people looking for underhanded code, but ... quite a few looking at the basic code. And if you expect underhanded code, I think you should just not trust the vendor.
> In a codebase the size of Ubuntu (and all its packages), "you can look at the source" is a mindgame, nothing more.
Actually, quite a few people diff ubuntu against debian to see the changes, and Ubuntu's original, independent code is not that huge - in fact, the community took over Unity, so there are a lot of people looking at it.
> Also, you can look at Windows' source code. In addition to the numerous programs Microsoft has for licensing the code to universities, researchers (including security auditors!), well-known community members, etc. the source code has been leaked multiple times.
Now, that's a complete joke.
Unlike ubuntu (which I have, in the very distant past 8.04 or 6.06 days rebuilt the base of, and which others regularly do), you have absolutely zero way to verify that the 400MB executable you installed does not include, in addition to the source you have, backdoors, telemetry etc.
When I was in Uni, I talked to one of the guys who get access to the source. It was view-only, can't rebuild, some critical parts missing. Maybe these days it is buildable, but I'd be surprised. And even if it is, you're not allowed to use it (except for auditing purposes), which goes back to the previous point - you have little idea what you're actually running.
> the source code has been leaked multiple times.
That's another joke. First, no professional would review _that_ because of legal ramifications.
I have a simple proof that you are completely, utterly, wrong in your assertions, and I would love for you to refute it.
If it's so easy to see what Microsoft is doing, how come there wasn't a single source for what Win10 actually sends home, for what the Win7/8.1 telemetry sends home, that was based on facts? In fact, the only semi-reliable (but not audited, or 3rd party confirmed!) source of what Win10 sends is from Microsoft, released over a year after Win10 was out. And it's frightening enough as it is.
I call bullshit on your claims. You're welcome to like Microsoft better than Ubuntu, but please stick to the facts.
I think it's partly a hat-tip to ISVs using .NET. Entity Framework (Core and Desktop) works best with SQL Server, with whole .NET Core is cross-platform thing they let ISVs sell to Linux shops too. The alternative would be to mix EF with PostgreSQL or (horror of horrors) MySQL which is a pain-in-the-ass for testing/QA. ORMs are leaky abstractions!
If you're ponying up for a SQL Server license you can afford to pony up for the Windows license. But if you're not a Microsoft shop and you're buying .NET Core-based COTS you can skip the license fees and install SQL Server vNext Express on your Linux machines. (Up to the point where you max out Express and have to cough up for Standard anyway.)
Yes, I also love OrmLite. It's so good and I miss it when doing dev in other languages, and as you say works perfectly across different SQL backends (unlike EF which tends to blow up horribly at the worst possible time with some obscure bug).
Well I'm the only dev at the moment so I really just need an indie dev license for myself, and it's licensed per developer, not per project etc.
I think it's worth it.
In my opinion, anybody working on .net ends up spending a lot of time writing what is essentially their own version of ServiceStack, on Web API.
It has a lot of features that you would end up writing anyway, spend months doing so, and would probably do less well. It basically gives you a massive head start.
I make up to $90 an hour working from my home. My story is that I quit working at Walmart to work online and with a little effort I easily bring in around $40h to $86h… Someone was good to me by sharing this link with me, so now i am hoping i could help someone else out there by sharing this link... Try it, you wOn't regret it!...http://www.smartfinancemedia.com/?682
As others have pointed out, there is, but I have "showdead" on, and there's been a huge uptick in deliberate spam lately. They do get blocked very quickly, so hopefully they get tired of it, but it's a big change from how showdead would mostly show cranks, bad jokes, and the (very occasional) overzealous moderation.
There is. You click on the "X minutes ago" link, then click flag. The comments are already dead by now, meaning no one sees them unless they have "showdead" turned on in their profile.
This is way off topic, but that kind of simple gamification is "broken" because there are three Nash equilibrium, only one of which is actually marking spam correctly.
If everyone marks everything as spam, then anyone not also doing the same is "punished" because they are missing out on points they could get by marking more things as spam.
If everyone is marking everything as "not spam" then anyone marking spam as spam correctly is punished as having "false positives" because everyone else is marking it not spam.
To prevent those bad outcomes (which happen very quickly in some situations, I'll try to dig out real-world examples later) you need to know what is "really" spam and what isn't, but if you know that then you've already solved the problem you set out to solve with this system.
HN already punishes accounts that either flag or vouch a different way to the moderators final decision. This should approach should help make the two pathological minima less likely.
As someone who has tried some early builds, what annoys me is that they have made it a lot easier and much quicker to install on Linux than it is on Windows!
It's actually not - if you try to avoid integrating in any way with the os. Shared-nothing apps are pretty nice.
SQL server and a few of the other behemoth apps seem to have a very hard time staying separate from windows which is annoying.
In Linux the design benefit is that there are package managers and the flaw is that there are many. Shipping a simple binary installer for multiple distributions is still tricky.
> Shipping a simple binary installer for multiple distributions is still tricky.
Because you're bypassing the package manager. Packaging isn't all that hard, much easier than building your own binary installer that handles multiple platforms.
Right. My point was that it's easy to deploy to one or a couple of distributions but still painful to deploy for "Linux" without further specification. Meanwhile on windows their trainwreck of an installation system works for all windows from 95 usually.
SQL Server has a heavy memory management dependency, pretty hard not to bake itself into the OS. That abstraction platform mentioned in the article is a godsend. They'll tighten up the Windows install over time, but Linux (ironically) gets all the juice for the first go-around.
Does anyone know whether Analysis Services and Integration Services are also going to be available on Linux? What about Windows Authentication mechanism - is it going to be available, if yes then how would a Linux box join AD domain?
We did have some problems with timedatectl being a dick in the early days of CentOS 7 which reported NTP as enabled but it wasn't. That caused the same issue but we resolved that one and it still periodically happens.
I can't quote for the state of the DC's though; they're not mine and I don't want them! :)
Microsoft has two extensions to Kerberos, impersonation and delegation. To use WA in a multi-tier set up (app, dB) you need those. I'm not sure if those extensions are available on Linux.
Like the article suggested, we use SQL Server and it's running on the only Windows host in our entire stack. This is a great move and we're looking forward to being completely on Linux.
Postgres is a great database but SQL Server has some fantastic features like columnstores, in-memory oltp, graph queries.
Linux has better tooling than Windows and SQL Server has better tooling than all other relational databases, it's a great match.
Does anyone know whether Analysis Services and Integration Services are also going to be available on Linux? What about Windows Authentication mechanism - is it going to be available, if yes then how would a Linux box join AD domain?
I really don't see the point of having another data server running on Linux, as it is developers are spoilt for choice. I am not a fan of anything Microsoft and don't like to see it raise its head on open source products like RaspberryPi and now its attack on open source software. I want to get away from this greedy monolithic destroyer of innovation not embrace it into the open source fold
You offer a few examples of research developed my Microsoft but don't mention the destruction of an entire generation of innovation by deliberate barrier of entry by obfuscation and theft of intellectual property. The history of Microsoft is well known I don't need to recite what most people already know
I can provide examples of "destruction of an entire generation of innovation by deliberate barrier of entry by obfuscation", whatever that means, for almost any company in the IT landscape.
I don't know, should I start with Google, IBM, Oracle and Apple examples?
How much of that is a direct result of Microsoft setting the standard of bullying, stealing and legal threats to keep their monopoly and prevent small innovators disrupting?
Money "is" a form of religion its called Mammon. I care about creativity and fair play, if that was a religion I would probably join. Surely we must believe something is worthwhile or worth fighting for? A lot of what I say is to generate debate which is something else I care about
You're not welcome to start flamewars on Hacker News and then stoke them every which way like this. Please comment civilly and substantively or not at all.
I wouldn't call Microsoft an innovator in the browser either, you miss the point entirely and you should read up on the destruction of Netscape https://en.wikipedia.org/wiki/Netscape
Attack is probably too strong, obviously anyone has the right to use open software but if you look at the history of how Microsoft bullied vendors that supported Linux you would get a sense of what I mean
I'd be very surprised if Broadcom released the source code for their firmware. It would probably have to be a complete rewrite from reverse engineered specifications, like the original IBM PC BIOS was cloned. Except a lot more difficult as these firmwares are comparatively huge.
There is no virtualization used in SQL server on Linux... It's not a VM. It's a just like any other Linux process... It just happens to have something that looks a lot like the NT Kernel running inside that process.
This seems to me as some kind of defeat and that makes me sad.
It's sad for me to look how great companies grew old
I think Microsoft is now afraid that people (developers that were hired by enterprises) are willing to move to *nix so much so that they will force enterprises to gave up on MS stack.
This way they could lose SQL Server customer and Windows customer at the same time - having SQL Server version for Linux will keep SQL Server customer.
I believe this wouldn't have happened 10 years ago, and moreover, it would have sounded just unbelievable.
This reminds me not only of things that could change very fast. It reminds that even when things go well with your business there's always someone thing that could "disrupt" your market, like a new dimension. And that thing won't be invisible. It will grow nearby and you will see such company and just won't assume that it represents any danger.
It is not sad, it is Microsoft playing the right moves to stay relevant, instead of joining Sun, DEC, Wang and many others that were once upon something great.
Look at SGI and Cray, they also had to re-invent themselves around their own distributions of GNU/Linux and tailored made hardware, instead of keep selling their own UNIX variants.
If I have to develop on UNIX-like OSes, but can still enjoy all the nice Microsoft tooling I have grew to love, then great.
Love or hate it, FOSS around UNIX has commoditized the OSes.
Who knows if now we will ever move away from a UNIX monoculture on the enterprise, specially with the increasing Linux / OS X love from Microsoft side.
> This seems to me as some kind of defeat and that makes me sad. It's sad for me to look how great companies grew old
Your sadness is misplaced.
Presumably you like resilience, yes? How does one achieve resiliency? At least in part via redundancy. A homogeneous environment, which an environment which relies on one vendor is, is non-redundant. All you've got then is a single point of lock-in, that can never be a good idea. You can be held hostage to the whims of the vendor. As soon as Linux became a viable choice to Windows and old Unix people left in their droves, and for this very reason.
To my mind, Microsoft is now acting like a more mature rational hungry company. I thought I'd never see the day. And frankly, if they hadn't started changing they'd be on the road to complete irrelevance.
> This way they could lose SQL Server customer and Windows customer at the same time
I jumped on the Linux version as soon as I heard about it. I never got an invite to the preview, but once the Docker container was released, I fully integrated it into our tests:
https://github.com/BigSense/BigSenseTester/blob/master/docke...
I can now pull up all three DBs in containers (mysql/pgsql/mssql) and three instances of BigSense and run tests over all three in a deterministic manner.
I had started working on automating a Windows Server with automatic SQL installation in Vagrant, but that was starting to look really complicated. If it wasn't for MS porting their database to Linux, we probably would have dropped it from the project.
Sounds like they develop a product that can use multiple RDBMS back-ends. Also, I'm guessing that since 90% of the businesses out there use Microsoft products, you would probably want to support their products in such a venture.
On a personal note, I find anything that's not SQL Server to be tedious to work with due to the lack of high quality GUIs, client tools and certain features.
For instance - did you know that Postgres can't easily return multiple resultsets? In SQL Server I just write one procedure containing multiple SELECT statements and my client code can get all of those resultsets with only one call to that procedure. This one feature alone cuts down on all sorts of boilerplate code and trips to the database.
you can do that on postgres as well btw, my first idea would be to create a function [1] and just throw the rows together. still can't imagine a usecase for that though, i'd always want to get them separately if they're unrelated.
you're correct on the GUI side however. Everything i've tried is a buggy mess. i've actually mostly given up on that front and just went with pgcli [2]. its pretty good for ad hoc queries. But it doesn't really help if you're trying to write a function. Its just nice for selects with lots of joins or nested selects.
[1] https://www.postgresql.org/docs/9.1/static/sql-createfunctio... [2] https://github.com/dbcli/pgcli
I usually write queries that return multiple resultsets when the caller needs to get a bunch of data from different tables all at once. (So, all of the time.) Instead of sending each table query to the database server individually, I just query one "stored procedure" in SQL Server. It saves a lot of round-trips on the network and there are other benefits too.
For instance, say my API needs to take the relational data from tables `Customer, Order, OrderItem(s) and OrderShipment(s)` and return them as a JSON object `{order:{customer: {...}, items: [...], shipments: [...]}}`. Or, say I need to render a PDF using those same tables. In either case the client needs to get a whole graph of data out of the database and with SQL Server, they can only send one little query to call my procedure: `EXEC dbo.GetCustomerWithOrderDetail @OrderId=999;` instead of sending 4 or 5 single-resultset queries.
Sometimes I do also end up sending 2 or 3 procedure queries separately, for instance the client might send a query for `GetCustomerWithOrderDetail` followed by `GetPdfTemplateWithDetailForRendering`. So, I get code encapsulation too.
The benefits of this style are exponential in my opinion. Most of the time, my client apps don't even need to know the names of the tables because they are calling procedures, not embedding "SELECT * FROM TABLE" in the client code. The only minor drawback is that the client does need to know the order that the resultsets are returned in ahead of time.
I think there are a few ways to attempt this in PG but none of them seem to come very highly recommended. I looked around just now and found this post:
https://stackoverflow.com/questions/36717138/postgres-functi...
You can see the programmer wants to do what they need to in a very simple way, similar to how it would be done in SQL Server. However, it's not possible. Here is an article that explores some of the options in PG and the problems with each approach:
https://blog.dsl-platform.com/multiple-result-sets-alternati...
You might be "joining" client side if you had something like a master/detail UI. Network round trips are relatively slow and to be avoided if you can (n+1 errors being the pathological case):
https://people.eecs.berkeley.edu/~rcs/research/interactive_l...
Looks like it can, just not as easily: https://github.com/docevaad/Chain/wiki/Multiple-Result-Sets-...
Like the business intelligence features
Datawarehouse functionality Machine learning capabilities within the warehouse suite
Mdx (which enables things like power pivot / power query)
Myself I am a Postgres guys, but man those extras are really enticing to me as a problem solver.
Unless they actually started from a blank source repository then it was not a rewrite.
I only made use of TDS C library, because there were some DML features not yet exposed via ADO and ODBC.
Sybase even in the 11.5 days was horrible. Even with updated stats, it would drop off the cliff and you would suddenly have queries that took less than a second go to multiple minutes. It was the database where I had to force a lot of indexes. It really got confused with simple reference tables. Temporary tables were just plain problematic unless you did the trick of declaring them in the outer procedure and then calling another stored procedure to actually use the temp table.
I never knew the definition of rewrite would be so controversial.
What you wrote is the same but will be a little different
I find this hard to believe.
I do remember 7 on 4 was much improved re: requiring reboots, and the projects I was on ended up doing it periodically more out of proactive concern re: NT4 than real demonstrated problems with MSSQL 7. 1999 project had 80 NT servers running IIS reboot on a schedule every few hours with a big load balancer in front. 70+ up at any one time, always a handful being reboot and coming in and out of the pool. If we didn't proactively do it, they'd just go down anyway. IIRC that spoke more to IIS than NT but again... how can you necessarily tell the difference? Not rhetorical, there were probably good ways to dig in and try to determine root causes (and I think some folks tried or did) but it didn't mean we could actually do anything about it (like patch and recompile the NT kernel).
I don't think this (in the end) is anything more than a marketing trick, there to give the illusion of choice.
This is not uncommon in ISVs, btw. There are many commercial offerings that have a Linux version, crippled in so many interesting ways that it makes it pointless. I'm a Linux person but I advocated against choosing Linux versions (of different products) many times in the past. Actually, that means the marketing trick works.
In my experience, software always has a primary plaform where it shines, and the other "supported" platforms are always stepchildren.
Ignoring Linux compatibility would have knock on effects because Linux is now the platform for so many other tool, e.g. Docker.
Regardless of how easy the 'upgrade and migrate to Linux' story is right now, I think it's vital that MS started down this road. Otherwise the .net framework would be [seen as] finished now, and people would start planning to migrate off it.
Now that practically all the features are available in the standard edition (depending on your support and scale-up/scale-out requirements) it could end up used in production for licensing cost reasons particularly if the availability/DR/scaling features work well (where previously if you needed Enterprise edition the cost of windows was a drop in the ocean - Standard isn't exactly pocket money cheap but still...).
Another PoV could just be that these days interpolarity matters much more to MS than it used to, as their key product focus is moving further away from the OS & individual services and more onto the platform with Azure - they don't care what DB engine you run on which OS, as long as you do so on their platform - hence moves to support postgres & mysql in the database-as-a-service-upon-platform-as-a-service manner that they already offer for SQL Server. Of course they'd prefer that you used Windows and SQL Server but not wanting to (or depending on the project, not being able to) use one needn't get in the way of using the other, not should not using one (or either) get I the way of using Azure.
MS SQL is the product that people are choosing, not Windows. Why should the MS SQL team force people to choose Windows?
I'm incredibly happy Microsoft is bringing SQL Server to Linux as a DevOps person, I'm really hoping SSIS/SSAS/SSRS makes it in eventually because they're the only thing keeping me from saying we should be deploying the new cluster on Linux instead of Windows.
Especially since 2016sp1 when they unlocked a lot of previously enterprise edition only features in standard edition. The scalability is still locked down a bit but those limits have crept up over time also: there is a lot that you can do before 128Gb RAM & 24 cores spread between up to 4 CPUs becomes limiting (core engine only limits there, OLAP services, reporting services, and the mem-optimised engine parts have extra limits on SE compared to EE).
Also a chunk of enterprise licensing is in support which if you are truly at that scale might be worth paying for. But if your company/product isn't there yet that is a cost worry to put off to the future, and as developer edition (which feature-wise is enterprise edition, you just can't use it in production) is essentially free you can test in advance to see when/if that expenditure is going to be worthwhile.
Of course it doesn't beat Free on price, so if postgres has the features & support you need, which for many it has, then it is far from an open/shut case. But compared to the other commercial products in the same market...
> it's been an absolute rock
Agreed. I can't think of another product that I've used nearly as much which has caused us so little hassle over the time. It certainly hands MS's other products their arses in that respect.
Here's my writeup on setting up Windows 10 as a long, long time Linux user https://github.com/chx/chx.github.io/wiki/How-I-set-up-my-Wi...
Every application looks different (yes they used to blame Linux/X11 on that one). It has two control panels (or three maybe), two web browsers shipped with it.
Takes more than a minute to boot on a new and pretty formidable laptop. This is the fresh factory install.
Can freeze the desktop while apparently doing something under the hood (installing updates? scanning malware? summoning the devil?), without any indication as to why, and not come back in five minutes.
Seriously considering overwriting it with Ubuntu even when it's aimed for a non-technical user.
So you want your cake and you want to eat it too? It's pretty well known that as part of the new iterative release cycle they're slowly moving things into the new "control panel". That's not going to happen overnight, and unless you want to go back to only seeing new releases every 4+ years, we're going to have to be patient.
>Takes more than a minute to boot on a new and pretty formidable laptop. This is the fresh factory install.
Then something is seriously broken with the laptop, or you're running off a spinning drive. Regardless, if boot time is your primary factor in choosing an OS, you're doing it wrong.
>Can freeze the desktop while apparently doing something under the hood (installing updates? scanning malware? summoning the devil?), without any indication as to why, and not come back in five minutes.
Between that and your boot times, I would imagine you've got a garbage hard drive. I've never had windows "Freeze the desktop for 5 minutes at a time". A quick google search also finds no relevant posts on other people experiencing the same behavior. Windows updates wouldn't freeze your desktop. Heck, video card driver updates will cause your screen to black out for a couple seconds, but not freeze for 5 minutes.
Linux DEs were blasted for things like that, but now they're suddenly OK for a multi-billion-dollar company's flagship product?
> you're running off a spinning drive
I also happen to walk on the ground and climb up the stairs, being aware of alternatives. That's what I've got in a shop and it has MS Windows logo glued to it.
> I would imagine you've got a garbage hard drive.
I imagine that's what gets sold these days. BTW, I've also bought Xiaomi phone for $200 and it's a real snap.
Yes actually. It's what users asked for, and I rather appreciate it. Linux DEs were BLASTED for breaking things. MS isn't breaking anything as they make the slow transition to the new panels. If you want to use the old control panel, everything is right there where it always was. If you want to use the new panel it will get you 90% of the way there on day-to-day tasks.
>I also happen to walk on the ground and climb up the stairs, being aware of alternatives. That's what I've got in a shop and it has MS Windows logo glued to it.
You're seriously on a technical site claiming you're pissed that you bought a dirt cheap laptop and got dirt cheap components? It's 2017, if you aren't willing to crack it and put an SSD into it, don't complain about performance. The laptop will be slow regardless of OS with a spinning drive.
Having a "windows logo" makes no guarantees of performance. Are you also pissed you can't run games in 4K on your $300 laptop?
Whoooa! I've now tried to find when you can change the hotkey for changing keyboard layout. It turns out, you can't find it now. New control panel has nothing and drops you into the old one immediately, which has nothing too.
It was working under Windows XP. Obviously you can't find how to configure anything in Windows these days without extensive googling.
As I've already said, you're a wrongfullt accusing right here. I've bought a mid-range laptop.
> The laptop will be slow regardless of OS with a spinning drive
As I've already said, you're wrong. Linux will still boot in 10 seconds and won't freeze for minutes during work.
I was fine with that, I like my desktop to just be there and get out of the way, not something that has to impress me with shiny new features constantly. Even the ported apps aren't consistent though, look at the mail app and the hideous background image they put in it.
> I've never had windows "Freeze the desktop for 5 minutes at a time".
I certainly have on an intermittent internet connection, the start menu can freeze for several minutes. That isn't good enough for a basic OS feature that shouldn't even have an internet connection. On the same connection it can also take several minutes to login to login to the machine because it's tied to the MS account.
Boot speed is pretty good and doesnt freeze like that.
Check your hardware if that is a fresh factory install. You are doing something wrong.
They are not common problems. They are yours.
Maybe they're not common problems, but it's certainly not just him that find it gives a poor experience.
Why then do Windows 10 laptops get sold with HDDs? You come to store and that's what you get out of it.
Also, Linux doesn't mind running from HDD. Not ten years ago, not now.
Lesson to MS: Get your act together or get out of this business. Come back from make-believe world. MS is running on make-believe for the last 10 years. Windows 8, the whole Avalon story, Windows Phone and now this Windows 10 "which only works well on SSD but never discourages anybody from getting an HDD laptop". Supposedly we should learn about this by telepathy or something.
That's factually incorrect. OSX, Windows, Linux, it makes no difference. You cannot hide the 8ms of response time that comes with a crappy laptop spinning drive. If you spend all your time in a web browser with ample amounts of memory... sure. If you're doing ANYTHING that requires disk I/O - whether it be launching a game, or opening a large directory, you will experience significant lag time with a spinning drive.
https://www.youtube.com/watch?v=Bgmph_bL8V4
https://www.youtube.com/watch?v=X-Rsr4E6b68
But I would once again question why you care how long it takes to cold boot a laptop. I think my laptop gets cold booted MAYBE once a month.
On my SSD, my Win10 cold boots faster than my Dell U2410 screen displays anything if powered at the same time (couple of secs)
Sure you can, you can load stuff in memory so you don't have to hit the hard drive every time you do something like open the start menu. Once in a while the taskbar likes to "refresh" itself and the icons disappear while the drive spins up. It's not a problem I ever had on windows 7 or any linux machine.
Excellent question. These machines should do better with Win7 but Microsoft doesn't want to sell it.
Microsoft sells windows 10 and Microsoft sells laptops with Windows 10 on an SSD. I doubt (but do correct me if I'm wrong) Microsoft sells any computers with Windows 10 on a mechanical drive.
Various manufacturers sell underpowered computers with Win10 on it, but thats hardly microsofts fault. They do that because otherwise they can't hit the lowest price segments.
What IS Microsoft's fault:
1)Microsofts "hardware requirements" only say what's necessary to use it, not what's needed for a decent experience.
2) not selling Win7 or making newer versions of windows work with older hardware.
That's a lie right here because the laptop in question not low end, definitely middle one.
> Various manufacturers sell underpowered computers with Win10
That was always part of Microsoft deal. You get your computer from a manufacturer other than MS and they still have to deliver experience, and they've failed that one.
You'll note that with respect to my sons laptop, Linux ran just fine on his much older, slower laptop.
Says it all, really.
Well, "Linux" is much broader than a specific version of windows (Windows 10). But yes, for most kinds of linux setup (distro, window managers etc) I'd say the bare OS definitely needs less resources on Linux than on Windows.
I do find that apart from the storage issues, Win10 actually runs about as lean (on cpu and mem) as Win7. The problem with consumer hardware such as cheap or midrange laptops is usually that it's infested with crapware from the start, something I also blame microsoft for, not manufacturers.
The OEM agreeements microsoft do with laptop manufacturers should explicitly ban them from installing any crapware such as antivirus trial versions, poorly written hardware apps and similar. I realize the $400 price of a cheap laptop sometimes includes a big rebate due to the software bundles - but ms ought to put a stop to it. Has to be damaging to their brand.
/s
If it doesn't work on a mechanical drive, it's fucking broken.
Additionally, you don't get to compare two products if one of them has massively higher hardware requirements.
Completely agree that having a major version bump as an automatic is insane.
That's why they should just skip the version numbering and just make it a subscription. Then they can sunset hardware 5-6 years old continuously like iOS, but let people choose to stay on the of version indefinitely.
Also: your recommendation for resolving reliability issues is to reinstall the OS? Yes I know the historical reasons for saying this, but in 2017 if the user has to re-install the OS to get it to work I suggest the problem lies somewhere other than in the user.
I am also a technician and installed win10 more than i can count. Yes Old & Slow and New Budget-friendly machines are problematic with windows 10. Thats mainly because hardware. Because its new OS and getting better hardware is a must. You cant complain about a calculator can not run win10 properly. OF course 5200 rpm hdd and celeron cpu fails.
win10 is confusing? Yes. Sometimes goes hard on user? Yes. Annoying with their "windows store"? Oh very yes.
Slow and Freezing constantly? No. Proper UEFI setups works like a charm with proper machines.
Usable? yes it is.
And here I thought it was Linux users that were supposed to say "you're holding it wrong" and "just make sure you get supported hardware"
I am always surprised to hear these statements. Hundreds of millions of people use W10, so it must be usable to some extent. I think it's also quite rare that the system stops for 5 minutes -- actually I've never seen that happening.
I don't use Macs so I can't say if the grass is greener there. I do have a feeling that if I were using Linux on the laptop it would be much worse than Windows, but that's just a hunch based on my historical experience with Linux and device drivers.
I use Linux servers extensively and all my code runs on Linux in production fwiw. Linux on the server is almost at Solaris-level reliability today. The comments above relate to desktop/laptop machines.
No kidding. I use it every day nearly all day and I can count the number of times I've had the OS itself get in my way on 1 hand.
I could overflow both hands just counting two Explorer things: (1) trying to figure out where MS put a setting/option if it's not on Ribbon & (2) trying to use any advanced search operators.
https://technet.microsoft.com/en-us/library/ff714569.aspx
Let's say I didn't know ForEach-Object existed (trivial example, but generalizes), how do I find out there is a cmdlet that does what I'm looking for?
We're there with Windows 10. We were better off with Windows XP and arguably we're much better with Android.
As for full screen browser, touch-optimised IE was in Windows 8. It is not in Windows 10. Your rant is 2 years out of date.
Around half settings that the internets tell me to tweak these days are on [the old] Control Panel. Another half is in the registry or group policy or some "Run..." utility and never the new one.
> you don't get to access them unless you really want to
That one is correct, I can never find the thing when it's needed again.
Obviously, there is some variation in experience, and I doubt all of it can be chalked up to the OS.
Oh come on, you can't blame the OS for that. Whenever I want to play games my Desktop is loading the desktop in less than 20 seconds, it's not optimal but if it takes 1 minute there has to be something wrong with the laptop.
Why would a so called "hacker" choose to use an OS that's slow, has horrible update policies, horrible privacy standards, injects ads into the main programs and start menu, requires anti-virus, etc?
Also, the idea that Windows has good drivers and Linux doesn't is asinine. My current dell came pre-loaded with windows 10 and failed to wake from sleep without me opening and closing the lid, then when it woke up, wifi would not come on and the only thing that fixed it was a reboot. Then when I used the touch screen things were going fine until I tried to select text and got an instant BSOD. Also I learned not to accidentally touch the screen and then try to type immediately afterward, or it would lock up the whole OS.
Linux just worked. Literally. Even the touch screen. I get 15 minutes less battery life but it's worth it.
I don't know, but that's why I use Windows 10 instead of Ubuntu.
Please back up your polemics with facts. I don't run antivirus on Windows and never have; it's the same fundamental security model as desktop Linux, and if you don't go around installing programs from untrustworthy places (whether download.com or SourceForge), you don't need it. And at a more-than-first-order level, Windows' security model is far better.
I have patches in the Linux kernel and I strongly recommend that someone looking for a secure desktop OS use Windows instead of Linux.
Please explain how to do any of those things on Windows - either the new 10, or the retrofitted-telemetry 7 which one has to retrofit with telemetry if they want security updates.
How much of Ubuntu has undergone a security audit by people who are looking for actively maliciously obfuscated code?
In a codebase the size of Ubuntu (and all its packages), "you can look at the source" is a mindgame, nothing more.
Also, you can look at Windows' source code. In addition to the numerous programs Microsoft has for licensing the code to universities, researchers (including security auditors!), well-known community members, etc. the source code has been leaked multiple times.
You've just moved the goal posts from "we can look at what it's doing" to "we assume they tried to hide what it is doing" - which we know that e.g. Microsoft did bundling telemetry into Win7 security updates, but that Canonical never did. Nice.
I don't know how much has been gone through by people looking for underhanded code, but ... quite a few looking at the basic code. And if you expect underhanded code, I think you should just not trust the vendor.
> In a codebase the size of Ubuntu (and all its packages), "you can look at the source" is a mindgame, nothing more.
Actually, quite a few people diff ubuntu against debian to see the changes, and Ubuntu's original, independent code is not that huge - in fact, the community took over Unity, so there are a lot of people looking at it.
> Also, you can look at Windows' source code. In addition to the numerous programs Microsoft has for licensing the code to universities, researchers (including security auditors!), well-known community members, etc. the source code has been leaked multiple times.
Now, that's a complete joke.
Unlike ubuntu (which I have, in the very distant past 8.04 or 6.06 days rebuilt the base of, and which others regularly do), you have absolutely zero way to verify that the 400MB executable you installed does not include, in addition to the source you have, backdoors, telemetry etc.
When I was in Uni, I talked to one of the guys who get access to the source. It was view-only, can't rebuild, some critical parts missing. Maybe these days it is buildable, but I'd be surprised. And even if it is, you're not allowed to use it (except for auditing purposes), which goes back to the previous point - you have little idea what you're actually running.
> the source code has been leaked multiple times.
That's another joke. First, no professional would review _that_ because of legal ramifications.
I have a simple proof that you are completely, utterly, wrong in your assertions, and I would love for you to refute it.
If it's so easy to see what Microsoft is doing, how come there wasn't a single source for what Win10 actually sends home, for what the Win7/8.1 telemetry sends home, that was based on facts? In fact, the only semi-reliable (but not audited, or 3rd party confirmed!) source of what Win10 sends is from Microsoft, released over a year after Win10 was out. And it's frightening enough as it is.
I call bullshit on your claims. You're welcome to like Microsoft better than Ubuntu, but please stick to the facts.
Now Google Maps even asks me to upload pictures of places where I happen to be.
I disagree. If you're a programmer who cares about privacy use Linux.
https://source.android.com/source/
- licensing costs are probably the same. If the cost of an additional Windows Server license is an argument, something else is going on.
- recently having dealt with MS Enterprise support on Linux, it was an horrendous experience I can nobody recommend
- an Enterprise with need for SQL Server without Windows Server support engineers?
- did we see independent performance tests published? A quick search I found these http://www.fhtino.it/blog/showpost.aspx?id=6790c78accb84f9c9..., seemingly not a convincing argument.
IMHO the whole story stinks and none of the arguments mentioned by Microsoft are valid. Probably it is all about winning hearts and minds.
SQL Server on Docker images for Devs is great as these are free of licensing costs (I guess).
If you're ponying up for a SQL Server license you can afford to pony up for the Windows license. But if you're not a Microsoft shop and you're buying .NET Core-based COTS you can skip the license fees and install SQL Server vNext Express on your Linux machines. (Up to the point where you max out Express and have to cough up for Standard anyway.)
You can switch between SQL Server and MySQL by changing just one line of code.
I haven't looked at much ServiceStack stuff because of the cost.
I think it's worth it.
In my opinion, anybody working on .net ends up spending a lot of time writing what is essentially their own version of ServiceStack, on Web API.
It has a lot of features that you would end up writing anyway, spend months doing so, and would probably do less well. It basically gives you a massive head start.
Maybe we could have another queue /possiblespam like we have for /newest?
Or we could make a competition out of it:
1point for a correct spam identification
-10 for false positive
If everyone marks everything as spam, then anyone not also doing the same is "punished" because they are missing out on points they could get by marking more things as spam.
If everyone is marking everything as "not spam" then anyone marking spam as spam correctly is punished as having "false positives" because everyone else is marking it not spam.
To prevent those bad outcomes (which happen very quickly in some situations, I'll try to dig out real-world examples later) you need to know what is "really" spam and what isn't, but if you know that then you've already solved the problem you set out to solve with this system.
Bit here are two factors that together makes scenario 1 and 2 unlikely to play out IMO:
HN users seems to be a constructive crowd
and
mods only need to punish a few accounts visibly for users to be deterred from trying this.
SQL server and a few of the other behemoth apps seem to have a very hard time staying separate from windows which is annoying.
In Linux the design benefit is that there are package managers and the flaw is that there are many. Shipping a simple binary installer for multiple distributions is still tricky.
Because you're bypassing the package manager. Packaging isn't all that hard, much easier than building your own binary installer that handles multiple platforms.
By using Red Hat's sssd which handles it pretty much seamlessly.
You get fully working Kerberos with that which should work with SQL server probably.
Admittedly I mostly use it for logging into servers with AD accounts (it will autocreate homedirs too!) and access controls via AD groups.
You can permit SSH/sudo access through AD group memberships. SSH works with Kerberos SSO.
Happens on Windows too but they mitigate it by _forcing_ you to use NTP against the AD servers.
We did have some problems with timedatectl being a dick in the early days of CentOS 7 which reported NTP as enabled but it wasn't. That caused the same issue but we resolved that one and it still periodically happens.
I can't quote for the state of the DC's though; they're not mine and I don't want them! :)
https://www.microsoft.com/en-us/research/project/drawbridge/
Postgres is a great database but SQL Server has some fantastic features like columnstores, in-memory oltp, graph queries.
Linux has better tooling than Windows and SQL Server has better tooling than all other relational databases, it's a great match.
Does this translate to enterprises wanting a stick to beat Oracle with when negotiating license fees?
https://blog.sqlauthority.com/2015/11/11/sql-server-what-is-...
https://www.microsoft.com/en-us/research/
I don't know, should I start with Google, IBM, Oracle and Apple examples?
https://news.ycombinator.com/newsguidelines.html
What exactly is MS attacking?
I think Microsoft is now afraid that people (developers that were hired by enterprises) are willing to move to *nix so much so that they will force enterprises to gave up on MS stack.
This way they could lose SQL Server customer and Windows customer at the same time - having SQL Server version for Linux will keep SQL Server customer.
I believe this wouldn't have happened 10 years ago, and moreover, it would have sounded just unbelievable.
This reminds me not only of things that could change very fast. It reminds that even when things go well with your business there's always someone thing that could "disrupt" your market, like a new dimension. And that thing won't be invisible. It will grow nearby and you will see such company and just won't assume that it represents any danger.
Look at SGI and Cray, they also had to re-invent themselves around their own distributions of GNU/Linux and tailored made hardware, instead of keep selling their own UNIX variants.
If I have to develop on UNIX-like OSes, but can still enjoy all the nice Microsoft tooling I have grew to love, then great.
Love or hate it, FOSS around UNIX has commoditized the OSes.
Who knows if now we will ever move away from a UNIX monoculture on the enterprise, specially with the increasing Linux / OS X love from Microsoft side.
Your sadness is misplaced.
Presumably you like resilience, yes? How does one achieve resiliency? At least in part via redundancy. A homogeneous environment, which an environment which relies on one vendor is, is non-redundant. All you've got then is a single point of lock-in, that can never be a good idea. You can be held hostage to the whims of the vendor. As soon as Linux became a viable choice to Windows and old Unix people left in their droves, and for this very reason.
To my mind, Microsoft is now acting like a more mature rational hungry company. I thought I'd never see the day. And frankly, if they hadn't started changing they'd be on the road to complete irrelevance.
> This way they could lose SQL Server customer and Windows customer at the same time
False. See https://news.ycombinator.com/item?id=14845783 Staying with SQL Server because Linux version was provided.
> I believe this wouldn't have happened 10 years ago, and moreover, it would have sounded just unbelievable.
Agreed. But that was not a good thing, that was very bad. For Microsoft, and their customers. Now that may have been something to lament.
For Microsoft, this is continued victory, not defeat.