Hacker News new | past | comments | ask | show | jobs | submit login
Windows 10 for Raspberry Pi 2 (windows.com)
723 points by velodrome on Feb 2, 2015 | hide | past | web | favorite | 373 comments

I am usually not the one to blow the free software horn (being a staunch believer of non-copyleft licenses such as the Apache License) and the geek in me likes this announcement. I also don't hold a grudge against Windows, I think it is a fine system for most people.

However, Windows seems very much contrary to the goal of the Raspberry Pi: providing a device for children to tinker with and educate themselves. Although .NET is slowly opening up, Windows is closed as ever. So, it does not actually let you check out how stuff works: looking up that function in the Python standard library, seeing how it calls libc, and then diving into libc to see how it is actually implemented.

It's in Microsoft interest to keep kids in their ecosystem, which has been pretty much unproblematic in the nineties and before the smart phone revolution. As the RPi becomes more popular in education, it would be bad for them when kids see that there is something else that not only works well, but also allows them to do more.

My fear is that teachers will now choose for Windows on the RPi, since that is what they know. And we are back to where we started: a fundamentally unhackable system.

Now, if Microsoft would open up the core of Windows. I would be impressed. Now? Not so.

"Windows seems very much contrary to the goal of the Raspberry Pi: providing a device for children to tinker with and educate themselves"

"Windows is closed as ever"

Are these kids hacking on the Linux kernel or something? Of course not. They will be using some app/language running on the OS. They don't need access to the OS source to do that. Seems to me Windows is a perfectly open enough OS to act as a platform for tinkering and learning about computers.

Are these kids hacking on the Linux kernel or something? Of course not. They will be using some app/language running on the OS. They don't need access to the OS source to do that.

I even mentioned libc. There is more to an operating system than a kernel.

In fact, this was an important part of my early computer education: when I was 12 (1994) I bought a copy of Slackware Linux because it had a free compiler (even Turbo Pascal was expensive for a 12 year-old).

At the beginning I just typed some small C snippets that I could find in books in the library. Then I started reading shell scripts and found out that a lot of the system is controlled through shell scripts and started writing my own. Then I started reading through the source code of libraries to find out how things were implemented.

At some point I got a Minix book (I was probably 16) at a discount at a book store. I started comparing the theory I read there and tried to find out how e.g. the Linux VMM differed from Minix.

Don't underestimate how important it is for a kid to have access to such information. Only a small subset dive deeply into the system, but they will be the hackers of the future. But you have to awaken the interest by making easy to dive in.

They will be using some app/language running on the OS. They don't need access to the OS source to do that.

I think you underestimate how important access to the OS (in the widest sense) has been to the success of everyone from Google, Dropbox, and Facebook to the newest of startups.

When I started with computers in the mid-80's, so open source wasn't an option.

None of the home computers systems was open source.

We had computer magazines, and books to type stuff from.

This is what is important, to have information how a given system works.

I only jumped into GNU/Linux as a cheap way to have UNIX at home.

For hardcore nerds like yourself there will still be Linux. I don't see it as an ominous development. And for old stick-in-the-mud people who never got into Linux like me, this could make doing stuff with a RPi much easier. (Edit: btw I'm using "hardcore nerd" as a compliment).

How would you use a ras pi with windows installed on it? I'm assuming windows 10 is going to have a decent CLI that you're all going to have to learn and pretty soon all the windows programmers who never had time to learn the Linux command line will have plenty of time to learn the new windows command line.

Probably will be PowerShell, which isn't bad. It's probably a good shell for teaching because it is fairly consistent in its conventions.

On an ARM processor I'd be surprised to see any kind of command shell at all. Certainly it wouldn't be the DOS based command window.

Doesn't Visual Studio ship with full source code to it's C & C++ libraries?

I get what you are saying, but 12 year old you was 18 year old me. My first Linux distro was also Slackware, but I had cut my teeth on MS-DOS and Windows 3.0 - 95.

I think that today's youth will embrace technology at the level it appeals to them. If educators embrace Windows because that is what they know, it is better that there is some exposure than none. The kids that are inspired are going to take it further than most instructors will ever understand.

I think you overestimate the need for access to the OS for learning things. The cracking scene, demoscene and games industry was almost exclusively built on Windows. A lot of that was just as, if not more, advanced as what a Linux programmer does.

I do think the trend of iOS, Android and similar Windows environments is troubling. But if they ship Windows 10 on the RPi with something like QBasic and Visual Studio it's probably just as good a learning tool as Linux. Or even a better one considering the rest of the application ecosystem.

I don't think Win 10 is about teaching kids to code.

But then I don't think the Pi is really about teaching kids to code either.

The Pi Foundation has done a good job of persuading everyone otherwise, but I'm left with a nagging suspicion that a computer designed for kids from the ground up would look very different. It's just too damn complicated for most kids. The nerds get it, but expecting the average ten year old to learn Linux shell scripting or the fine points of Apache installation seems unrealistic to me.

Win 10 on the Pi is about two things. The first is about edging Linux out of the education market. Teachers will indeed prefer Win 10 to Linux, for reasons that others have mentioned - especially if it comes with a basic dev toolchain. Even if that toolchain is very easy to use.

The second is - I guess - selling Office 365 subscriptions on super-cheap hardware, and creating a whole new sub-PC market for Windows and Office.

If I'm right, it's a clever move. It will give Windows and Office access to many new markets worldwide.

Where MS hardware failed on price, the Pi version wins on price. It could be a very strong combination.

>The Pi Foundation has done a good job of persuading everyone [that "the Pi is really about teaching kids to code"], but I'm left with a nagging suspicion that a computer designed for kids from the ground up would look very different. //

http://www.raspberrypi.org/about/ says that they designed it to enable kids to access a cheap platform on which it would be easy to code and that they considered the multimedia capabilities a good hook.

Price was clearly a major factor in making the RPi accessible to all [UK] kids. Their inspiration was in part the BBC Micro series - which were certainly not inexpensive.

RPi is cheaper than a second-hand Nintendo DS.

In short, as I understood it, the RPi was about removing the cost barrier to kids having their own system on which to code and hack both hardware and software.

But is Linux about teaching kids to code? I don't think it is. I spent more time on RH6.2 attempting to learn how the system worked and how the heck to make my rubbish graphics card run X than running egcs or g++ back in the day. There was terse documentation for all the GTK stuff, and it was particularly daunting if you had not written any advanced C or C++ (like me). I did manage to write some rubbish programs under Qt thanks to the excellent documentation and through sheer perseverance under KDE2 but today installing Visual Studio is incredibly easy.

I ran Linux for years and still use it today for my Pi only but I think the INITIAL learning curve to use a system is less steep with Windows than Linux, particularly if you are presented with a CLI Linux login. If you are presented with a GUI then it may be different for a 6 year old but I wouldn't say that the Linux vs Windows discussion really takes into account how easy it is to get into programming on the platforms.

(I know you can install gcc and get writing C/C++ really quickly but you can do the same with Visual Studio without understanding a package management system).

It sounds like you were running Linux on hardware that wasn't Ubuntu certified.

This is like complaining about how hard it is to get OS X up and running when installing on a Dell, but I see where you're coming from and realize this wasn't you whole point.

Anywho.. I would say it's easier to take skills learned from using Linux and apply them to the Windows OS than the other way around.

Yep, it wasn't Ubuntu certified because it was the year 2000 and Ubuntu and Mark Shuttleworth weren't around yet. My old 486 had a rubbish VESA compliant card in it that was a pain to get XConfigurator to use.

Admittedly, I did learn many skills with the command line but this DIDN'T translate to me being a wizard with the DOS prompt on Windows 98 back then - I didn't use the DOS prompt. Task manager didn't show a hierarchy of processes like pstree does now, and pstree didn't come (or even exist?) with RedHat 5.0 or 6.0. This was RedHat, not RHEL.

I got OSX up and running on my Acer Aspire :-)

You're right though, that was difficult.

I think the skills for the different OSes are only mainly applicable to their OS, despite how we think and how easily you and I can use the different platforms.

Using a keyboard and a mouse translates, but nothing else does really. Getting my wife to use OSX is frustrating for her, my brother gets angry using OSX too, my brother is lost under Linux, my mum gets lost under Windows (she's fine with iOS mostly now) and my dad is fine with Windows 7 and before but hates Windows 8. My wife gets lost under Android after using iOS for years.

Don't even think about programming for any of them on any of the platforms!

I always love guys like you... I tried something 15 years ago so I know everything about the current project because nothing ever changes...

Jesus, Linux Circa 2000 is very very very different from linux 2015...

I'm not Jesus. You got my name wrong. I get the feeling in reality that you DON'T love "guys like me". You manage to judge a lot about me from two comments!

Seriously though, I use Linux every other day and my last job involved maintaining racks and racks of Linux servers. I also use a few Raspberry Pi s at home, and I appreciate that things change. The ditching of the normal windowing paradigm is the biggest recent change that made me use Linux less as a desktop OS. I didn't say that things don't change - where did you read that?

But it still stands that giving my mum a Raspberry Pi and an SD card, and she'll be none the wiser about runlevels, CLI, or the main point of the discussion, programming. She'll instead spend more time learning how to use Linux, surely?

Or are you saying that my mum will suddenly be able to start development or something?

Or are you just offended that I had some experiences in the past or something?

Except this is Windows for IoT which is basically Windows Core, or windows with no GUI...

When you load this, the only thing that appears on the screen in a Cmd prompt, or powershell. If you think linux is hard to admin from the commend line, windows for people that do not know powershell is next to impossible

Is that the case with this release? It'll be dead in the water if they do that - PowerShell isn't much fun to use or learn.

The nerds get it, but expecting the average ten year old to learn Linux shell scripting or the fine points of Apache installation seems unrealistic to me.

The average is not the only group that matters. If you have to spray the entire planet with RPis just to make sure you get one into the hands of the right ten year old, it would be worth it for the things they would be inspired to invent as they grew older.

But then I don't think the Pi is really about teaching kids to code either.

Of course not. The target market is actually people like me, now in our late 30s/early 40s, who have a powerful nostalgia for the original "Model B".

But I think they missed the point of the Model B, a smart 10-year-old could grok the entire machine. You knew the memory map by heart, what went where, what happened in what order, and so on. The RPi has more in common with a PlayStation than it does with the Beeb. It would be like starting kids on calculus before they'd learnt addition. What we need is to re-start production of the real thing...

the pi was origionaly designed for older kids (12-13) to get them ready for University level courses later in life.

The cracking scene, demo scene, and games industry were all built long before Windows. C64, Amiga, ZX Spectrum, Atari.

I think it's important we had a generation of instant-on machines that greeted a user with a command prompt and a programming environment. Even if you wanted to just play a game, you still found yourself LOADing, DIRing, SYSing, and maybe performing a soft-reset after a LOAD that triggered a system routine that now pointed somewhere else. There are things you'd learn after hours of playing and messing with games because, eventually, typing all this weird stuff at a command prompt made you wonder "how" or "what if". The metal and its registers and special calls were right there and you couldn't brick your machine in any way a cold boot couldn't fix, so next thing you know, your friend shows you if he POKEs this and then SYSes that, he could change the background color of the load screen. Cool. So now you need to one-up him so you spend a weekend messing around with NO TOOLS -- just a CLI -- and figure out if you POKE these other four places after LOADING and then SYS then you get unlimited lives. Of course the game crashing after a minute. And so it goes. But breaking things was encouraged because you'd instantly cold-boot and try again.

I think we owe a huge debt to instant-on machines with a command prompt and some environment (BASIC or a hex monitor or, today, bash with root on Linux and maybe Python or whatever). Any project that tries to put environments like that into kids hands again gets my vote. Windows... less so.

I don't disagree over all, but I'm not sure it works that way anymore. Systems have become super complex and the measurement for what is impressive have gone up. I think the power of a lot of those early system was that they were "boxes", but still impressive enough to keep playing in that box. I think Linux is very much the opposite. You can do pretty much anything you want, but it can be very hard to get good results. If I wanted someone o have the same experience these days I'd probably put them in front of something like processing.

> The cracking scene, demoscene and games industry was almost exclusively built on Windows. A lot of that was just as, if not more, advanced as what a Linux programmer does.

I think you mean commodore, or atari. Windows gaming came a long long time afterwards. It is more advanced in some ways but it does not beget OS programmers, like an open source OS does. If OS programmers die out, we're in very deep trouble.

No, while nostalgic, the Commodore and Atari scene were tiny in comparison. Since the mid nineties people have learned graphics programming and reverse engineering primarily on Windows.

It's not like OS programming is going away, but it has always been mostly a university thing.

And you could say we already are in big trouble. Since the ecosystem for multimedia weren't (and isn't) very good on Linux a lot of qualified user software exist on other platforms. Industrial, scientific, medical, music, film etc.

It's important to grok why OS programming "has always been mostly a university thing" in contrast to, say... a business environment that wasn't monopolized by anti-competitive business practices and set back for decades as a result, or maybe a vibrant ecosystem we all grew up wanting to contribute toward and understand deeply with low barriers to entry and a supportive community.

The same could be said for understanding why "the ecosystem for multimedia weren't (and isn't) very good on Linux" and various rounds of the DRM wars.

Microsoft shouldn't be blamed forever for deficits in free software and that's not an argument I'm trying to advance, but it would also be a mistake to overlook their historical influence on when and where certain barriers to tinkering emerged or persisted.

I think that's part of why this triggers a disgust response for some commenters.

Sure. I don't refute that Microsoft is, simplified, evil. That doesn't change the fact that people with positions in the Linux community don't really care about those things. I don't really see any move of note toward that either.

Even when Apple practically gave the Linux distributions an opportunity with the neglect of the Mac Pro. Here you had people who didn't like Windows, disgruntled with Apple, liked unix, wanted a powerful operating system and was overpaying for hardware.

OpenGL isn't that much harder on Linux than on Windows, so where the push for great OpenGL developer tools on Linux? Google and Mozilla gets a lot of credit for supporting open source, so why are there no decent bindings from their respective new languages to their respective 2d libraries (Go/Skia, Rust/Mozilla2d)?

There's kind of a macho attitude in open source that things should be hard. If you can't or don't want to fix it yourself it your own fault. It's great for the people that are happy with that and are invested in it, not so much for the rest of us.

OpenGL isn't that much harder on Linux than on Windows, so where the push for great OpenGL developer tools on Linux?

I believe Valve is working on that.

>while nostalgic, the Commodore and Atari scene were tiny in comparison.

Not as tiny as the PC industry was at the same moment in history.

>Since the mid nineties people have learned graphics programming and reverse engineering primarily on Windows.

Because Windows won the desktop. Graphics programming and reverse engineering would have been learned on whatever OS was in that role.

> No, while nostalgic, the Commodore and Atari scene were tiny in comparison

You know, when you obviously have no idea what you are talking about, the wise decision is just not to answer. Both the Commodore and Atari scenes were way bigger than the PC's in the mid 80s till the early 90s. Ask any demoparty goer if you don't believe me.

I'm not talking about pre-90s and I've been to many demoparties. Do you want to refute that the PC demoscene have had a huge impact on the modern games industry? Because if you read my original comment, that is my point.

Oh, and maybe you should read the site guidelines, second paragraph under "In Comments".


First, I was not answering to your "mid 90s" comment. I was referring to that one:

> The cracking scene, demoscene and games industry was almost exclusively built on Windows.

Which is blatantly false. Where do you think Team 17 come from ? A number of their members were recruited on the Amiga demo scene, and that was well before PC gaming was a thing.

And huh, the game industry existed way before PC Gaming. In 1985 the Amiga and the Atari could display animations on screens with 16 to 32 colors in relatively high resolutions, while PCs were stuck in monochrome (just like the first Apple). And oh yeah we had games. Tons of them. Are you trying to rewrite History ?

> Oh, and maybe you should read the site guidelines, second paragraph under "In Comments".

Nowhere did I call you names. I was merely saying you have no idea what you are talking about, it's OK, it happens to everyone. You know, I have been on HN for a while.

You're both talking about two different generations of the demoscene. Bohol oversimplifies the history in the same way you oversimplify the history; you're both tracing it back to the points of reference you're familiar with. That being said, I think a more forgiving interpretation of "The cracking scene, demoscene and games industry was almost exclusively built on Windows." is that the modern state of each scene stems from the mid 90s. I don't believe that would be an entirely false mischaracterization, because Windows' influence has been pervasive on the scene since the mid 90s. In the end, Bohol is looking at it from "when did the greats of today get their start?" and you're looking at it from "when did the greats that influenced the kids in the 90s come from?". At least that's my interpretation of the argument. In a sense, you're both right.

I know what I'm talking about. I'm talking about the PC scene from early nineties to today that made up many of the founders and employees at today's games companies. You're have some high horse argument that the scene and games industry started before that, even though the connection at that point is much more unclear. There were of course some overlap, especially people starting out late with commodore, but less than you would think. If it makes you feel better you can insert "modern" or "for the last 25 years" in my previous statement.

And yes I've also been on HN for a while, longer than you if that is your first username.

> I'm not talking about pre-90s

And that's where your problem lies, since the pre-90s era is far more important historically than the post-90s era (when the idea of a "demoscene" started to die entirely and game development shifted full-force toward massive companies - trends which have only recently begun to reverse beyond very tiny niches).

No? Tiny? I'd love to know which games industry you think came before the games industry on Windows. Did a legion of Windows programmers appear overnight?

Audacity, Bitwig, QTractor and Ardour have made great strides - and that's merely stuff I know about. Userland software is quite beside the point I was making.

Closed-source single OS dominance without an open source alternative would mean much worse trouble than the trouble we are already in. To avoid this, you need OS programmers, many of whom never get to University.

The state of Linux is far more a hindrances for it's success as a learning tool than Windows ever was. I've been using Linux since '98, it's great for learning systems administration or networking. It's however lacking in most of the other areas of computing, those which yourself like many other apparently are quite ignorant of. I learned far more from windows than I ever did Linux, including advanced OS concepts.

That Microsoft is coercing people to use Windows is the favorite conspiracy among Linux evangelists. The reality is that Linux isn't and never was very approachable. You might not be able to dive into the source code of Windows, but at least your not stuck trying to understand yet another build system. At least there are decent learning material so you don't need read the source code or scavenge through mailings list trying to find something other than "why do you want to do that". Or a countless other examples like it.

I like Linux, I do. But you can't have your cake and it too. It's not as good as Windows if you want to have access to all areas of computing. Which is what you want when you teach computers to a wide verity of people.

Maybe you should be more concerned that most ARM devices doesn't have working graphics acceleration for Linux desktop systems.

> No, while nostalgic, the Commodore and Atari scene were tiny in comparison.

Uhh, no they weren't. They were the focus of home computing during that time period. IBM-compatibles running DOS (or, previously, CP/M) were still the purview of businesses needing personal computers.

The reason why BASIC-oriented systems like those of Commodore and Atari are "nostalgic" is because they were ubiquitous in households during their heyday, and contributed heavily to the same memes and tropes of video game design that are being recycled to this day in big-budget games running on Windows 10 64-bat Supreme Home Edition Republic-of-Gamers PC-Master-Race monstrosities with Core i9 processors and NVodia GeFarce 96000000GTXXX 16TB 525600-CLUTA-core EXTREME-GRASS-RENDERING GPUs and all the other baloney that's dominated the thoughts of gamers nowadays.

> Since the mid nineties people have learned graphics programming and reverse engineering primarily on Windows.

By your logic, the concept of the automobile was invented by Toyota when they came out with the Prius.

There's a lot more to the history of video game development, demoscene, etc. than just the 90's; you're leaving out literally half of those subcultures' very nuanced histories chronologically-speaking - and, in fact, opting to leave out probably the most important half.

> The cracking scene, demoscene and games industry was almost exclusively built on Windows.

LOL on which planet did you live? The cracking and demoscene started way before MS DOS, with the C64, the Atari ST and the Amiga. Windows was super late to the game.

Do you think the servers of multiplayer games also run on windows?

> I think you overestimate the need for access to the OS for learning things. The cracking scene, demoscene and games industry was almost exclusively built on Windows. A lot of that was just as, if not more, advanced as what a Linux programmer does.

There was certainly a significant Windows (and DOS) demoscene, but to say it was exclusively built on Windows is about as far as the truth as one can get. Emphasis on Windows really only picked up in the late 90's; throughout the 70's, 80's, and early 90's, most of the demoscene, game development, etc. revolved around non-Windows platforms (particularly BASIC-running toasters in the 70's-80's, followed by Amigas and Macintoshes throughout the 80's and early 90's).

Windows 95 was the start of Windows becoming more popular for game development and multimedia production, but it took quite some time for Windows to displace the rest of the market (through Microsoft's monopolistic tactics, but that's another story). Until that point, there was DOS, but it was one of many contenders with relatively-equal footing only as far back as the late 80's at the earliest, before which DOS was more the purview of businesses buying IBM PCs alongside their IBM mainframes (in other words, about the most uncool computers one could possibly own). The reason DOS eventually caught on was very much because of how "open" (comparatively-speaking) it was compared to, say, Mac OS; the same subculture of BASIC programmers from the Commodore 64 days could make an easy transition to a similarly-minimalist environment requiring a lot of user intervention and therefore customization opportunity, much like how the world of GNU/Linux had been all the way up to the mainstream adoption of Android (and still is, though it's no longer an absolute necessity to be able to tinker with one's system like it was in the first half of the 2000's).

This isn't to mention that Windows didn't fully penetrate the educational market until well into the 2000's; most schools had a large quantity of Apple hardware still in use, thus influencing educational development. This was much stronger when the idea of a "demoscene" was still really relevant.

Now, the cracking world might have been different (I know DOS was a strong contender in the BBS subculture), but the latter two are very much not a product of Windows; far from it.

Yesterday I was setting up Crouton on my 11 year old daughter's Chromebook. She wants to learn to program, she says, so I said, great, let's get you a real programming environment. She was nervous about her computer and all the stuff flying by on the screen, so we talked about what her computer is -- a CPU, memory, storage -- it's all bits, nothing happening here can hurt it.

We then got Python up and drew a turn with Turtle, which she then extended to a rectangle.

We'll see what she learns and what I can teach her. But whatever she learns will be directly applicable to many other available environments. My Mac and her Mom's will have a terminal. At some point she can take this up to a Linode and play on the net. If her computer club uses Raspberry Pi, Linux will be there.

Maybe she could learn a lot with Windows 10 on a Pi. And much of it would be principled, and some of the basic emotional and mental disciplines needed to work with computers. But a great deal of it would be a particular interface, and one that is generally available only with costs or arrangements that exceed those of getting to a *nix interface.

Now why is it a good idea for her to invest in a sunk cost like that when she can invest in one with much greater and freer applicability?

>Yesterday I was setting up Crouton on my 11 year old daughter's Chromebook

Yet you decided to buy her a Chromebook, which is the most locked down laptop out there with heavy DRM with everything locked to Google's services and only Google code being allowed to run natively. Even Windows is much more open in comparison and doesn't wipe the hard disk when you try to install an alternate OS. Nor do you have to "root" it.

My son enjoys my croutonized chromebook, he gets to play minecraft on it (he has it also on his iPad, and on my PS3). But along with that the older version of Scratch, a very cool open sourced game called froogle.

I also told him that he has to type some magic incantations to get them installed: "sudo apt-get install froogle" and he kind of loves it (and then forgets it right away... or do I know)...

But really for a $179 (that's how I got it) device I don't mind. He actually "blew" it once, by pressing SPACE at the booting screen and reseting the whole device (unlocked chromebooks are like that, there is a way to disable that, but haven't done it yet). I told him that minecraft is now gone because of that, but we can install it again, though his maps are not saved. He's not doing it anymore, and surely he'll be more careful than me in the future (he opened the chromebook without asking me)

I unfortunately had to downvote your comment because this is not the conversation about DRM, Google Services, etc. I'm as passionate as anyone about fighting the walled gardens out there. But it's not germane to the current thread.

>But it's not germane to the current thread.

In a thread about the value of open platforms, how is questioning the decision to buy a chromebook not useful or relevant?

I think you're confusing Chromebooks for Android devices; running non-Google operating systems on Chromebooks is very-well-documented.

I think you're also missing the parent commenter's point: that even on ChromeOS (via Crouton), his daughter's newly-learned skills will be much more universally-applicable, since she's working directly with free development tools available universally and on virtually all modern platforms (plus Windows) instead of working with toolchains specific to only one not-really-all-that-modern platform.

It costs $250, we can walk away the moment it becomes limiting. It's a lot harder to walk away from hours spent learning to do something some particular way.

To this I would say jeez: worrying about how your eleven year old daughter might be restricting herself to particular technology platforms is really somewhat premature.

He has a really good point though, you can't just dismiss it with no counter argument.

The "windows way" involves a UI specific to one OS, the *nix way can usually be applied to any UNIX like OS, of which there are far more of than Windows.

Not only that but once you learn to program on UNIX all you have to learn is an intuitive GUI to move your skills to windows.

I'm a Dad with teenagers. My next ten years will be worrying about how they're restricting themselves.

I'd argue it isn't. It is the kind of mindshare effect from early age that makes it incredibly hard to displace Windows throughout IT. There were three computer generations of note - the fourth is still growing up and is the smartphone one - but in general, the generations were:

1. The Unix era, back in the 70s, back when it was all university stuff. Free software was unheard of but the code was always widely distributed. 2. The Mac era, in the 80s, where there were a ton of different computers and they were all so primitive and simple you could easily hack on them yourself or with effort make your own kernels. DRM was too expensive to fathom so it was still modestly open. 3. The Windows era, starting with DOS but lasting through XP, where users grew up on a completely black box experience where you bought an emachine at Best Buy and browsed cat pictures online. No developer tools or command line presence at all after a while, so in my high school years (2005 - 2009) an extreme few of my peers even knew what programming was (I'm talking less than 5%).

The phone era is even worse than the Windows era because the form factor does not lend itself to productivity and the ecosystems are locked down (though I think a lot about Android and AOSP makes it much easier to break out of the theme park and see the wider world than in the Windows era).

I'm not saying making everyone use a command line OS or having to install Archlinux themselves would make them more enlightened, but I can convincingly say we probably lost a huge amount of potential developers in these last twenty years to the tivoization and tonka toy Windows experience where the barrier from going from software consumer to software creator was so insanely high.

On Windows, you have to first realize you can develop software. Huge barrier there. Once you know that, you are immediately in the giant cancerous mess of .net and Windows developer tools from MS, which is not something a, say, ten year old is going to be much interested in.

On Linux or any free software OS, you always have Python right on your system. You open up this terminal thing, type in python, read the website a bit, or maybe do Codecademy, and you can drop right out of the browser into the developer tool right at the ready. Maybe you want to get a bit more sophisticated and start using Gedit or Kate or Geary or Ninja as a Python IDE, in which case you just one click install this stuff to your desktop after reading about it on a Python forum.

My point is the process of "getting into" development or just giving a damn about computers is a hell of a lot more fun and reasonable on free software OSes or just one that distributes the developer tools out of the box, in the same way the 80s kids who now represent a huge chunk of the developer workforce came to be.

I am in computing now because someone put Linux on my laptop when I was 11, I don't think I would have ever really thought about it otherwise.

It's not necessarily that I could look at the source of the kernel (I didn't), it's far more the philosophy of the OS as a whole meaning that I could tinker with whatever I wanted, pull apart components and see how it broke, dive as deep as I wanted into any area of the system.

A Linux system is far more openly composed even when you're not at the source level, Windows is comparatively a black box. A value of Linux is teaching people how computer systems are put together and function, it is unequivocally better at this than Windows.

I don't hate Windows either, but I do think that Linux aligns itself far better with the RPi's mission statement.

It's not like Linux is going away. I think more possibilities in regard of OS is a good thing, and also in align with the RPi's mission statement.

> Are these kids hacking on the Linux kernel or something? Of course not.

Not most of them and not to begin with, but "educating themselves" means having a platform where their curiosity can run amok, and some kids with RPis absolutely will find the Eudyptula Challenge or some other source of inspiration and make it to tinkering with the kernel.

RPi is absolutely the perfect platform for this. Break your OS? Just throw in another SD card. Somehow damage the hardware? Whatever, it's only $35.

I'm not the only person on here who taught himself Z80 assembly language in school because it let me dig deeper into our TI calculators; if we'd been using RPis for programming assignments I would have been all over that. I think it's a little surprising that it even needs to be said on a site called "Hacker News", but let's not underestimate what curious kids with a bunch of free time will accomplish.

Thank you for mentioning the Eudyptula Challenge [1]. It's not my cup of tea right now, but it sounds Really Cool for anyone interested in kernel programming.

1: http://eudyptula-challenge.org/

> Seems to me Windows is a perfectly open enough OS to act as a platform for tinkering and learning about computers.

Maybe, but Linux just seems more convenient. I mean, can you install gcc, golang, nodejs, python, ruby, ghc, lua (...) on windows with a single command? And all the other tools you might want to use, like editors, databases?

And you will never know if they want to do kernel-level coding if they don't have access to the kernel.

can you install gcc, golang, nodejs, python, ruby, ghc, lua (...) on windows with a single command

Yes! Just install chocolaty and type

   cinst git 
   cinst mingw
   cinst vim
   (and so on)
Prior to Windows 10 it is a third party tool and not officially supported by windows. However starting with Windows 10 windows will ship with a version of this command called OneGet and it will be be officially part of windows.

I don't think you can call chocolaty a package manager as it does not (and, by the nature of Windows, can not) offer dependency resolutions in the way apt works. It might be better to call it a package downloader or a package installer.

Can you explain what you mean here? Chocolatey is built on top of the NuGet package manager, which includes package level dependencies.

A simple example is this ConEmuConfig package, which will install ConEmu if it's not already installed due to the dependency chain: https://chocolatey.org/packages/EthanBrown.ConEmuConfig

Many Chocolatey packages I use have dependency chains, and I know some developers that build metapackages so installing one Chocolatey package installs and configures all the software on a new dev box or server.

it's not simply a downloader as it also does handles application level dependencies (as opposed to library level dependencies) as well as keeping track of versions and handling updates.

Either way, while it is inferior to apt-get in many ways, it does fill the original posters brief in that it will let you install python,node,gcc,ghc,postgres etc. with a simple CLI command

> And you will never know if they want to do kernel-level coding if they don't have access to the kernel.

Windows actually has pretty phenomenal support for kernel driver development (https://msdn.microsoft.com/en-us/library/windows/hardware/ff...).

I completely disagree. I used Ubuntu for a year and I spent more time fixing things or trying to do things in the OS than I have in all other operating systems combined. My nephew tried to install Ubuntu on his new build and hit brick wall after brick wall trying to install the OS and Minecraft. It simply hasn't gotten easy enough and I'm afraid it's too late now.

I don't see a comeback for linux. http://www.google.com/trends/explore#q=linux

Well, using your logic, Linux has already surpassed OS X:

http://www.google.com/trends/explore#q=linux%2C OS X&cmpt=q&tz=

Anyway, Ubuntu works fine on most laptops. We can safely say it works across more hardware than OS X. We can also buy an Ubuntu certified laptop/desktop and have excellent support.

I wish Windows fan boys would stop pretending as if they never run into issues using Windows. I have to fix my dads computer once a week with windows. Windows 8.1 refused to wake from sleep on a brand new laptop that it came installed on and the wifi kept cutting in and out.

I find my self having a more pleasant experience more and more on Linux and less and less on Windows.

Oh god. I run 8.1 at home, and it randomly fails to "sleep" -- about half the time (or more), it will boot from scratch the next time I turn it on. I don't know if it's a problem with my hardware, or drivers, or what. Worst of all, the only sleep/hibernate related things I'vebeen able to find on the Windows help pages seem to be for people where it either always fails, or where they don't know how to turn it on. :-(

The most frustrating thing is the mystery about what causes it, since I haven't been able to find errors that explain it in the system logs.

It's unfortunate that you apparently had bad experiences with Ubuntu, but this thread is about development tools, not installing third party games from external sources. Yes, if you want to game, windows seems like a more convenient choice, nobody disputes that.

>Yes, if you want to game, windows seems like a more convenient choice, nobody disputes that.

Gaben is closing that gap for us.

Also, Minecraft runs fine on Linux. If GP poster had trouble, it's probably down to a video driver issue (which aren't unique to Linux, but are arguably more painful), or a new-environment-learning-curve thing.

I don't think Valve will doing for longer time if the studios don't care.

Sure they will. You wouldn't believe how many new games Steam is trying to throw at me on Linux.

The big studios might not care too much (though even this isn't really universal, since there are plenty of big studios that do target Linux/SteamOS), but there's a lot of activity from indie developers, many of whom are targeting SteamOS before they even target OS X (though there still aren't any SteamOS exclusives that I know of).

I think that Valve has bet the farm on Linux. Gaben seems to think that Microsoft might build their own game marketplace and use it to push Valve out.

This isn't just related to 3. party games.

I've seen and helped people that hit these brick walls everywhere, whether it's installing the OS itself, a compiler, accessing a thumb drive, or whatever other task they want to accomplish.

These are things that may be incredibly trivial for us that's comfortable in this environment, but a brick wall for others.

Linux OS installation used to be objectively difficult even for a reasonable computer user. That hasn't been true for more than a decade. IMO, the relative difficulty of getting the Windows vs Linux installed and nominally working inverted some years ago. Take a group of college freshmen who've never even seen Linux before and have them install both OS. Measure which of those tasks is completed first/correctly, and which takes more supervision.

Well I have a B+ and installed Raspbian for a little home energy project that reads from my smart meter over serial and pushes the data to the cloud. The programming was easy, I spent 5x as much time trying to get things installed. Finally got Cloud9 working, never was able to get InfluxDB installed, kind of got OrientDB installed (it crashes).

I consider myself a technical person and while I think it's fun to use Linux, it's certainly not productive.

> I consider myself a technical person and while I think it's fun to use Linux, it's certainly not productive.

Should read: "...I'm certainly not productive."

Just because you struggled with the Linux paradigm, it doesn't mean that it's an unproductive platform.

My 79 year old mom uses Ubuntu and she loves it because it never breaks. I moved her to Linux because I was tired of fixing her Windows install (on the same machine).

You and your nephew must be doing something very wrong.

I've moved my immediate family over to Suse and Ubuntu, but I've had about half of all my conversions "in the field" backfire - something little breaks, and then the echochamber of Windows mindshare around them make them demand I put them back on Windows because they "can't get this different thing".

Then I get a dozen calls in the next six months about how completely broken something in 7 or 8 is, but they never consider switching back.

I don't know how to fix that. They get it in their heads that Windows is right and everything else is wrong and the first sign of contention drives them to panic right back to the MS camp, where every day is contention with the viruses and spyware.

Just an example, I had setup a small store with Ubuntu terminals. Six months later they wanted me to switch it all to Windows 8. For those six months the only service calls I got were software updates and general inqueries like "how do I download X?" or "how do I get flash?". Linking a one click Ubuntu install for Flash is insanely easy.

But now its been over six months again since the Windows 8 switch back, and I'm in about once a month to remove systemic viruses and spyware from all the computers because they all get horribly infected and I make them change their passwords every time. They even had the store owners credit card info stolen once, but they would never fathom using anything else again.

And they switched back because Office 2013 in Wine (because they could not stand LibreOffice) didn't interopt between each part properly - IE, trying to open an Access database as a form fill in Word never worked, and they didn't want me to just give them network disabled XP VMs to run Office in using all their old license keys because when they tried that the employees kept trying to use IE6 in the VM and complained it had no Internet connectivity.

I sincerely hope you, at least, are paid by the hour and by incident.

It's depressing to read stories like these. I to do not know how to neutralize the peer pressure that seems to make people want to be constantly abused by their malware-infested Windows machines just because their friends are...

One thing may help: interesting metaphors.

When my mom once asked about viruses, I made her picture her computer as an SR-71 cruising at Mach 3.6, high above anti-aircraft fire directed towards Windows machines. Sticky images like this may help, but they may need occasional reinforcement.

Every once and then she also forwards me a chain letter warning about the dangers of such-and-such e-mail scam that tricks people into download malware. I tell her to relax because the malware most likely will not be able run on her computer, much less compromise it.

I'm not sure that Google Trends is a valid metric for this conclusion. It shows both Windows and MacOS X have declining trends as well. Apparently iOS is doing gangbusters in Cambodia and Android is all the rage in Indonesia.

I would say that spending that time fixing things and trying to do things in the OS really helps you to learn about how some of the parts of the OS actually work. If the point is to learn things, then maybe it's better if everything doesn't "just work".

Meh. Seems okay to me. I'm not convinced the chart really tells us anything at all. http://www.google.com/trends/explore#q=linux%2C Microsoft

> I mean, can you install gcc, golang, nodejs, python, ruby, ghc, lua (...) on windows with a single command?

If you go the unofficial way you can use chocolatey (https://chocolatey.org/). I am very happy with it ( so does it my 9 years old son)

> And you will never know if they want to do kernel-level coding if they don't have access to the kernel.

That depends on the personal curiosity of each person. In my case I have never have that itch and I have been using Linux since 97 when you had to partition your disk by hand.

Chocolatey looks nice actually. I might have had more fun on windows when I used it in the 90s if that had existed. I will keep it in mind in case I ever see a need for it, I imagine I could suggest it to some windows users.

Chocolatey/NuGet is great to use, and it's being added to Windows 10 by default. I use it pretty exclusively no for tool downloads.

Try that in Slackware.

Not all distributions have apt-get.

    sbopkg -i "node google-go-lang ghc ..."
Granted, you have to install sbopkg, but it's still not that hard. And most of those tools (GCC, Ruby, etc., even Emacs!) already ship with Slackware anyway, so it's arguably easier than most GNU/Linux distros.

Linux being open is not just about the kernel source code. It's the fact that it's modular, that you can decide what brick you need, add or remove them, and end up with the perfect right configuration.

It's especially interesting when you're building an embedded system (typically with a RPi). Start with the minimal Arch Linux install, think about what you need and add just that.

There is a lot to learn about how operating system work when you configure Linux without having to recompile your kernel (something that nobody do any longer anyway).

Or you can go even further, use something like buildroot (http://buildroot.net/) to build your kernel and rootfs, and even tweak the kernel configuration if you like. I recently did an RPi project where the kernel and rootfs together were about 5 MB compressed.

Plus, it's just another _option_. How can this possibly be a bad thing? You can of course still run Linux.

I think this was answered. It's bad because teachers would push for a platform they presumably know more about -- Windows.

Going to play devil's advocate here. Teachers will push Windows, because they know about it and they can teach it. If you throw a pile of linux machines at teachers, how many are going to have the time, ability, and will to actually learn it well enough to teach it?

It's hard enough to get a school to teach kids anything beyond using Office. I'd be happy to make things as easy as possible on the teacher who are willing to go the extra mile to teach with a Pi, without making them go another 10 miles learning a new OS to do it.

Except the teacher on Windows by design cannot teach a huge chunk of the stack that makes a computer a computer. They talk about hardware, maybe a bit about the ToS breaking NT source floating around this comment section, skip over everything else and land on this theme park island of C# standard library and Windows forms.

It leaves a huge gap in the childs education on computing that is one the major reasons so many people today do not even know Windows is not the only OS out there. And of course if they learn on Windows they are going to stay on Windows a huge majority of the time and it just breeds another generation of .net developers who would have a panic attack if a line didn't end in a semicolon.

>> Except the teacher on Windows by design cannot teach a huge chunk of the stack that makes a computer a computer.

Is this really necessary for most kids? My view might be skewed because I grew up in the 80s, but everything I learned back then were things like Basic, COBOL, Fortran and Pascal. One of my high school classes did some assembly language on the Apple II, but I'm not sure most of the people in my class wanted to get down to the nuts and bolts.

If a kid is really into the nuts and bolts, they'll likely discover Linux organically. I learned most of my computing skills outside of class by doing my own research. And back then, there was no such thing as Google, just magazines at the newsstand and books in bookstores and the library.

I would say the majority of kids would probably be content enough learning how to make a web app, which can be easily done on Windows without needing knowledge of the stack that makes a computer a computer.

I just switched back to Windows from OSX, and the only reason why I have Visual Studio on my machine is so that I can compile some of my node libraries. I hardly think using Windows will breed a generation of .net developers at all.

> but everything I learned back then were things like Basic, COBOL, Fortran and Pascal.

Think about what you had back then, though. At best, you had Mac OS (which was as abstracted away from actual computer internals as Windows is today). All the other options - whether it was Commodores or Ataris or DOS-based IBM-compatibles - involved working very close to the hardware. You were manually dealing with interrupts and memory access and other very-low-level components.

Basically, the reason why you didn't have to delve very far into the underlying system was because there wasn't an underlying system in the first place for you to delve into. COBOL and Pascal were pretty high-level, but BASIC and Fortran are along the same lines as C (especially back then): very low-level, very directly-wired-to-hardware, very thin abstractions over raw assembly. You were already delving into way more than students today would ever be able to delve into on a Windows-NT-based operating system (where you don't even have DOS internals to muck around with, unlike on Windows 3.x and 9x - which is what I personally grew up on).

Yeah, students might be able to get by on a bit of HTML and Javascript and maybe Ruby or Python, but I would be lying if I claimed that such an education would be as in-depth and worthwhile as what your or I experienced pre-2000.

>> Think about what you had back then, though. At best, you had Mac OS

The best my high schools had were the Apple II family and PDP mini computers -- my first high school course in BASIC (I already knew Basic from my home computers) -- we were marking up Hollerith cards with Sharpies. You don't know painful debugging until you have to manually scour a deck of optical cards looking for an errant black mark.

We did not deal with interrupts, memory access or low level components. What we learned was more about logic -- not much different than what I do today.

The closest I ever got to memory access in BASIC were the occasional peeks and pokes, and even then, you didn't need them to write a useful program. Being able to build something even as rudimentary as a CMS today on (insert language of choice here) is more broadly useful than anything I came out of high school with.

Also, remember that nothing was really cross platform back then. Most languages were procedural, and free databases (relational or not) -- forget about it. I was on Mac at the tail end of high school, and if you wanted a tool like Lightspeed C or Lightspeed Pascal - those were way out of the budget of a high school student.

You were still much closer to the hardware than virtually every modern programmer outside of the embedded programming space (and even then), which is my point. What you were doing was effectively operating system programming, seeing as there wasn't really much of an operating system in the modern, traditionally-understood sense (except for the PDPs, which ran some timesharing system like ITS or Unix or somesuch, but those also tended to arrive with the full source code, at least in the case of Unix, so that one could port it oneself).

I don't get how an interpreted language like Basic on an Apple ][ series is considered to be any closer to the hardware than Node is today when most of the stuff we were programming amounted to writing scripts to solving simple math, logic or business problems (keeping it the context of high school). The goal of the teachers was basically to teach us the difference between procedures and functions and some basic concepts like recursion.

"What you were doing was effectively operating system programming" is a _major_ stretch.

Because BASIC on an Apple II doesn't involve a massive JIT compiler running on a massive userland and drivers running on a massive kernel with virtual memory and processes and such. It instead involves a very thin layer over the firmware of the computer itself. Sure, you weren't doing a lot of PEEKing or POKEing, but the fact that you could do those things proves my point.

The sorts of programming you were doing was barely higher-level than the sorts of programming involved with an OSDev-style "Hello, world!" kernel[0]. My remark is not a stretch at all. At most you had a few thin conveniences (like having some graphics-related features already available to you, since Woz had prioritized that when he designed the Apple II's BASIC interpreter); beyond that, it was direct access to everything from RAM to tapes (unless you were running Apple DOS, but that was not at all required for BASIC programming on an Apple II, and the Apple II didn't ship with it).

[0]: http://wiki.osdev.org/Bare_Bones#Writing_a_kernel_in_C

>> barely higher-level

BASIC for all intents and purposes, was considered a high level language when I learned it.

From what I remember, BASIC kinda had a similar reputation as PHP does today (probably unfair) in that it wasn't generally taken very seriously as a programming language. You didn't use BASIC to make real programs on an Apple ][. For that, you'd do it in assembly or machine language. That bias is still stuck in my head even after 3 decades.

Excellent points, your "theme park land" C# comment made me laugh

I think modern .net devs chose the platform out of its advantages, not because its what they only know.

I know fair few .net developers, and they've all had linux years, and tried various languages.

All the .NET devs and classic ASP (!) devs I know were/are scared stiff of Linux, see it as a hobby environment not used widely (they obviously don't think about servers, they use Windows servers and use the magic that IIS + .NET does for them), don't see outside the Windows development world and pronounce Linux as Lyenucks. Giving them a Raspberry Pi with Linux on them would kill them.

I think they should widen out.

A lot of them choose .NET because their CTOs chose it because a Microsoft account representative told them it was enterprise-grade and had full Microsoft support while playing golf.

And there's nothing wrong with that. Kids will be more productive on Windows and more likely be able to take those skills with them. How many kids need to know linux in the future? Here's what the Linux trend looks like: http://www.google.com/trends/explore#q=linux

'linux' is a single keyword, while GNU/Linux OS might show up as a wide set of different keywords, like ubuntu, debian, mint, arch, centos, rhel, fedora, gentoo, opensuse. Note that this is not the case with Windows, iOS, OSX. So, it would be interesting to see the combined interest of all those added to that of 'linux' for a more correct perspective - not considering Android of course, since it's not a GNU/Linux system.

BTW it seems interest in Windows is also halving every ~10 years (though not as fast as 'linux'):


Edit: I was partly wrong; the matter is much more complex than that: interest in iOS and OSX might show up as interest in iPhone/iPad, and Mac/Mac OS; interest in Windows, besides any interest in 'surface', might also show up as a generic interest in 'PC' or similar terms: you can make such assumption, since anyway those interested in 'linux' or 'OSX' would probably avoid using terms generally associated with Windows.

>Kids will be more productive on Windows

Citation needed.

Didn't we just establish that it's the system that kids already know more about?

Not kids. Teachers.

Sorry, and it pains me to say it as I'm the patriarch of an OS X family, but: Kids. Their first exposure to computers will be at home. And it'll therefore likely be Windows. My kids don't know Windows, they know OS X and iOS. Sometimes, after they've visited friends, they comment that they played on a computer that "looked weird", but they've never had a problem adapting.

It's that last bit that seems to suggest a "who cares what the OS is, kids don't care" idea. In my view, though, it really doesn't. Kids aren't known to have a higher order of executive function. They'll generally just use whatever the trusted adults in their lives use.

Those trusted adults should be exposing kids to all the options, so that the kids are better prepared to make decisions when their executive function skills catch up.

Was this weird computer they used a Windows machine or was it an old OSX version? :-)

Only kidding. I went to PC World the other day and attempted to use one of the Windows PCs and quickly became angry with Windows 8.1. Seems I have been using Macs for too long (and I used to use Windows daily, now I do but in a VM and it pains me).

Is it not more productive for teachers to teach something they know? If a kid has a question about Linux and the teacher doesn't know Linux, they won't be able to answer the question. Likewise if a kid has a question about Windows and the teacher doesn't know Windows, they can't answer it.

It doesn't matter what system it is, teachers are best at teaching what they already know.

If a teacher only knows DOS, he/she should teach DOS? ;)

I didn't say "should only teach". If your (obvious facetious, I know that) argument actually followed mine, it would say "A teacher only knows DOS, they would be most effective at teaching DOS". Which is true.

The point, though, of the parent commenter was that just because a teacher can teach something "effectively" doesn't mean that something should be taught in the first place.

There are plenty of teachers throughout the United States who are effective at teaching creationism to their students. I think we can all agree that doing so is not healthy for those students.

OK, but doesn't it follow that the kids would be more productive if the teachers know the OS and are able to help out?

> How many kids need to know linux in the future?

All of them, if they want any hope of having a programming or system administration job (i.e. the non-executive IT jobs that pay pretty darn well) in the foreseeable future. Linux is what powers the vast majority of web servers nowadays, regardless of whether they're being run by plucky startups or long-tenured industry incumbents. Windows in the server world has effectively been relegated to legacy systems and a smattering of government websites (some of which in and of themselves also count as "legacy systems"), and that market is continuously shrinking as businesses modernize in methodology and technology.

I would prefer giving to a children an ZX Spectrum and explain how use it to make programs on BASIC, that putting in front of a Windows. At least, they would understand what is doing the computer, instead of seeing the computer doing "magic"

I misread you then and read ZX81 instead of Spectrum and my mind went back to typing in pages of code and being unable to save due to only have the 8k version.

That nearly put me off writing code!

Thanks to the BBC B and floppy disks!

There have been quite a few projects that did hack the kernel and drivers directly.

The majority of users are actually running XBMC on the Pi, and they don't care if it's linux or windows. But the early adopters do care, and they are all Linux people.

"There have been quite a few projects that did hack the kernel and drivers directly."

Of course there are, but I was taking issue with Windows being unsuitable for a classroom - is it realistic to claim that teachers are getting children to modify and compile the Linux kernel in the classroom? No, that's silly.

> Are these kids hacking on the Linux kernel or something?

Why not? Do you hod the opinion that kernel code is something impossible to mess with? If so, why?

When introducing kids to programming in a classroom environment, hacking the Linux kernel is a completely OTT scenario. And Linux will still be available and probably the most popular OS to be installed on RPis, for those kids who are the next Linus Torvalds.

naturally everyone wants to avoid a situation where people are afraid to try out different operating systems. instilling open mindedness and eagerness to learn new things, to kids, the idea that the OS isn't important it's what you can make it do... will stand them in better stead than leaving them with the idea that Windows or Apple or whatever, is the only way it's done.

> It's in Microsoft interest to keep kids in their ecosystem

Yep, which is also why they purchased Minecraft. It was more like purchasing the community of Minecraft users, which has a lot of children as well.

I really wished there were a Micronix or something - combining the best of both worlds (Microsoft's extensive resources and reach coupled with GNU/Linux freedom and open-source development) - and that probably is what Microsoft is slowly aiming towards. I guess we'll find out in a decade.

> Yep, which is also why they purchased Minecraft. It was more like purchasing the community of Minecraft users, which has a lot of children as well.

Microsoft has a strong presence in the gaming industry and a history of producing games going back several decades. Notch was looking to cash out of Mojang, and the kids playing Minecraft also have Wii's and 360's and Playstations...or at least the ones in and around my house. They have iPhones and iPads too and game on them as well.

Bill Gates can't continue espousing the ideas that everyone should have access to healthcare/technology/internet and be on the board of a company that charges way too much for an OS that --let's be honest-- isn't really miles ahead of any other OS...

I did like the fact that he posted a picture of kids using Ubuntu on his FB page though.

Depending on the type of user you are, but Linux is miles ahead of Windows for research.

"Linux is miles ahead of Windows for research." I think you need to be a bit more specific than that - for research in what field. I can think of several computational areas where either the OS is irrelevant or Windows is a better platform due to ecosystem issues. But yeah, supercomputers, servers, networking, etc, probably.

Which way is Linux miles ahead ? This is not a rhetorical question, I really want to understand. What features and functionality of Linux are missing in Windows that sets them miles apart ?

Just off the top of my head: package management, live-cd functionality, architecture support, command-line interfaces, GUI variety, kernel customization, scaling to low-powered harware, licencing.

GUI "variety"? Are you joking? The very reason there exists so much "variety" is that they all suck. Windows has one GUI system and it's worked darn well for quite a long time, and will continue to do so. Linux might be able to let you make your windows do somersaults so you can show off to your friends, but it still hasn't been able to get the basics right, like focus-stealing prevention. Windows is miles ahead of Linux on GUI -- if there's one thing I can tell you for sure, it's that.

And Linux is "miles ahead of Windows for research because of its command-line interfaces"? Really? Since when are 25-year-old command-line shells research products? Not to mention stuff like http://mywiki.wooledge.org/BashPitfalls

As for package management, when it works it works, but sometimes I wish it could burn in hell. I can't tell you how many times I've run into problems getting packages to work because their dependencies were either (1) no longer available ("sorry! our servers changed, your version of Linux is outdated"), (2) only available in source code form (but good luck compiling it!), or (3) not available for my version ("sorry, this version is too new for your OS"), among other things. Distributing your dependencies along with your application might not be sound engineering practice, but it sure as hell can make things actually work out of the box so you can focus on what you actually want to do.

"miles ahead of Windows for research" For example, only 2 of the currently fastest 500 super computers run Windows and 1 of them is owned by Microsoft. All of the others run Linux or Unix.

"Since when are 25-year-old command-line shells research products?" The shell is a researcher's best friend as they have always been (and will be for the foreseeable future) the direct interface between data and the user. I honestly can't think of a faster and easier way to parse a nasty 10GB log file from a simulation than bash. The fact that its old and still in use is a testament to its usefulness.

You have heard of powershell?

REPL are way superior as shown in any Xerox PARC OS.

And shells are indeed REPLs (in the sense that they run a loop in which they read, evaluate, and print things).

Though to be fair, REPLs for languages like MATLAB or Julia are likely far more useful from a scientific standpoint than a typical shell (which is more useful for system administration).

Compared with what I know from Xerox PARC documentation and what I self experienced in Oberon and Visual Works Smalltalk, shells are like REPLs yes, but not quite.

It is a very different experience when the shell (e.g. Transcript in Smalltalk) is capable of interacting with the whole OS.

For example in Cedar, which Oberon copied, any public function/procedure exported by dynamic libraries can be used in the shell via modulename.function.

Depending on their signature they act on REPL text input, the active selected graphical element or some other OS element.

While this can kind of be emulated on an UNIX shell, it breaks down that there isn't an OS wide standard API to bring everything together.

I don't know... Ubuntu's UI is pretty consistant and I think simpler to use than Windows. I wouldn't say it sucks... at all.

After using Ubuntu Desktop recently for the first time in a few years, I completely agree. I'm really surprised it's not more popular yet.

>like focus-stealing prevention

Example? I could show you thousands of issues on windows where a window has stolen focus and it wasn't prevented[0]

[0]: http://www.eightforums.com/

Could you link me to 2-3 of the actual posts instead of linking me to the entire forum?

In the meantime, it seems to me you've already conceded that Linux can't get it right, so I'm glad we agree there.

As a current Ubuntu user, I think you are just spreading old, outdated FUD.

The GUI works and it is in fact just as good as Win8 (which I dualboot). When using virtual desktops, it's far better, and makes me more productive.

The package management is amazing. Chocolatey sucks in comparison.

What I fail to see, is what these basic computer functions have to do with research.

Visual Studio has a lot to do with research, and it is a fantastic tool in its own right. The GDB debugger is a piece of ancient garbage in comparison to VS debugger.

You could have focused on the real issues instead of your uninformed outdated FUD.

What is the latest version of Ubuntu that you consider "outdated"?

Also, Windows has package management in the form of Chocolatey/OneGet: http://blogs.technet.com/b/windowsserver/archive/2014/04/03/.... It just isn't used by most end-users so awareness is limited.

Ehhh....that's "installer downloading and executing", which is a far cry from "package management". Notably, it doesn't provide dependency resolution (which is 90% of a package manager's job, IMO), and Windows' software packaging conventions don't really work well for an apt-like system, since they are intended to be mostly self-contained outside of shared frameworks.

I use chocolatey, but it's not anywhere near the level of apt-get. That's more Windows and Windows developers' fault than chocolatey's though. They've done a great job given what they have to work with.

Package management covers this, but is too understated: many of the applications that researchers use are downright hard to get working on Windows--particularly if you require any customization. I've run into this in a maddening way when working with geospatial tools. Need custom OGR/GDAL support? Prepare to spend hours figuring out how to make it work with Windows. Some deal to a lesser extent with R. Amount of time spent on edge cases is Windows > Mac > Linux. I use a Mac, but every time I build up an R environment with lots of library dependencies on Linux, I find myself saying, "well, that was easier than I expected." Conversely, when I use Windows, I'm right back to fighting library dependencies.

Windows makes simple things easy, but complex things nearly intractable.

In my experience a lot of this isn't becuase it can't work on windows, but because the developer didn't take the time to make it work on Windows. I also had my fair share on build and dependency problems on Linux when wanting something custom.

I think this is much more a ecosystem thing than a systems thing. Which do count of course.

I use linux for research for several reasons. The most important reason is that I own several high performance computing resources that need to run code with as little interference from the OS as possible. Furthermore I need these machines to share a file system and I need to be able to set it up myself with little IT experience.

For my purposes Linux is dead simple to use, well documented (most of the time), and does exactly what I need it to do which is to stay the hell out of the way while I burn cycles on real work.


Basically, Windows for scientific software is as bad as Linux was for 3D FPS gaming fifteen years ago. Just ask anyone who has tried compiling anything scientific under Cygwin.

And don't get me started on MS's own compilers. They STILL don't support C99, a sixteen year old standard for one of the most important programming languages!

I thought most of the scientific computation is written in Fortran. Anyways, I have used a big closed source scientific computation package several jobs ago to conduct experiments. The entire stack was running on windows at the time, but the operating system really did not (and does not) matter. I agree with you that MS compilers should support C99 but it has very little to do with how useful windows is for scientific computing. (Worst case scenario you can use an opensource compiler).

I think the reason why the top 500 HPC clusters are using linux is the price of the operating system and not the functionality.

What do you mean by scientific? There's a lot of Windows only software for research. Mostly for applied things. But also things like data collection. There's even more if you look at development in things like engineering. Even industrial is surisingly much Windows only.

Well, yes, I'll give you that "scientific software" is indeed too broad. If I restrict it to "software developed by teams of scientists working at universities and research labs" it's better.

And yes, lots of data aquisition stuff is Windows only, particularly the stuff that gets sold along instruments. But then, in that category, the trend seems to be requiring a (preferrably air-gapped) PC running XP. I've even seen stuff running only on Win98 still in use, and I've seen software for rheometers that is STILL distributed on 3.5" floppies. And don't get me started on the "needs-crypto-usb-dongle-to-function" stuff - someone should really tell them that the $300k instrument is a sufficient protection against software piracy.

Makes sense. My concern really is if Linux gets any better for these use cases. I think a lot of Linux development is to much software and to little real world "science". You hear a lot how powerful Linux is, but in a lot of cases powerful things are run by XP as you say.

I kind of gave on Linux a couple of years ago when at the same time when Apple had totally neglected the Mac Pro all you could find from the Linux community was how cool the latest 3D effects on the desktop where and chromium was much better than Firefox. Trying instead finding something like say a 2D library more modern than Cairo and there's a deafening silence.

Yes, I'm exaggerating a bit and there is some good developments. Like CERN making waves in electronics by hacking on KiCad. Though I'm sure they would be happier if they could replace Wx with something more modern, which I'm not sure the current alternatives are.

From what I gather, Qt has "won" the war, if there was ever such a thing, but GTK and Cairo will not be going away. What are your gripes with Cairo, anyways?

Also, when you start getting into scientific software, very few projects explicitly state "Runs best on Linux" even though that may be the case. If you are looking for examples though, I will give some: PETSc/Elemental/Trilinos/etc Clawpack/PyClaw/OpenFOAM/etc Gromacs/NAMD/HOOMD/Quantum Espresso/etc Julia/Nimrod/etc Paraview/VisIt/VMD/etc OpenMPI/MPICH/MVAPICH/etc ImageJ/Fiji/etc GNU Radio/RTL-SDR/etc

There's tons of it out there!

You seem to use Linux for applications. It appears you have nothing to do with research about the Linux source code and design.

So? The Linux ecosystem is the best there is for science. Period. Even OSX lags behind, just look at all the work people put into MacPorts and Homebrew just to get it almost on par with Linux. To this day, none of those systems properly handle the case of multiple packages providing implementations of a library that other packages depend on (e.g. OpenMPI vs. MPICH). Not to talk down on the guys working on that, they are very talented, and the amount of effort they put in is of huge value to the community. (Hello Sean, hello Geoff.)

In the kernel:

1. Access to hardware performance counters and energy counters

2. Easily loadable custom drivers

3. File system that is not slow as hell ("Getting the modification time of a file ... seems to be about 100 times slower on Windows than it is on Linux"[1])

4. Practical mechanism to allocate large pages

5. Futex

In the ecosystem:

1. Package manager

2. C99 compiler

3. POSIX environment (a lot of scientific libraries and tools depend on it)

[1] http://www.aosabook.org/en/posa/ninja.html

Being Unix-like.

SMP is probably one of the reasons Linux is so beloved in research, Windows may have caught up there somewhat, but it wasn't too long ago when you had to pay extra for a version of Windows that would allow you to use a second processor. Windows isn't even an also-ran in supercomputers, which is a shame really. Also being able to have farms of Linux boxes without fussing about with Windows licenses.

Networking is another. Windows at least used to have a bunch of different crippleware SKUs with differing networking abilities

Filesystems, Linux supports tons of them out of the box.

I know the whole Micro$oft thing is fun and all, but Microsoft does put an awful lot of money towards providing technology in developing countries (OLPC, for example), as well as general philanthropy for non-profits. "Making a profit" and "spreading information access to those who don't have it" are not mutually exclusive.

Is it more expensive than OS X though? Windows licenses are like $50 for OEM. With OS X you have to constantly buy upgrades since their support period is short. I might be wrong though, never bought an OS X license.

And OSX and Server is an orphan product try to find any usefull information about using OSx/Mac's when you have more than one or two systems.

Thers no G dmm X Clinet FFS

I am Migrating our mostly Mac shop from standalone to networked using OSX and to be honest using windows server 2012 woudl have been far cheaper in time and hardware costs

Please explain networked...

I assume he means shared profile/network authentication/configuration management. Active Directory stuff, basically, which yeah, OS X server can do, but I share the opinion that it is actually much harder to get set up to feature parity.

Sorry I should have said to set up central single sign on mobile accounts for laptops you know basic small office functionality.

There isn't even a method for converting from stand alone users to a network one! - looks like those that say that Apple is abandoning osx users for ios have some validity

OSX has moved to a free OS upgrade model as of two releases ago and very cheap upgrades for the two releases before that (the last 5 years of OSX upgrades cost less than any single Windows OEM upgrade of the same time period). The most recent release supports most of their computers from 2009 and much of the more-capable hardware from 2007 (basically all the way back to the first Intel-based Pro Mac lines).

Yeah, it's shorter than MS and Linux support windows but I wouldn't describe it as "constantly buying upgrades" either.

Using the uglier to say that something ugly is not that ugly, is using logic in a dishonest and misleading way

OS X is free now on the condition of using only Mac hardware. Windows is the only OS that isn't free and their market share has been gobbled up by Apple in the last decade or so.

I think the only place where Windows is still pricey is the enterprise, but Apple has made it a point to give away their OS completely free to everyone. Apple got out of the server game mostly because Linux has and will take over in the long run (especially with platforms like docker which should make it easier to deploy apps).

>OS X is free now on the condition of using only Mac hardware.

By that metric, Windows is also free if you buy a Surface.

>their market share has been gobbled up by Apple in the last decade or so

Today I learned that going from 5% to 7% marketshare is gobbling up a rival that has 90%+ marketshare.

> By that metric, Windows is also free if you buy a Surface.

There's a difference between Microsoft's model (using a hardware product to better market a software product) and Apple's model (using a software product to better market a hardware product). Microsoft is a software company first and foremost, while Apple is a hardware company first and foremost.

That's the root cause of the reason why your particular comparison isn't exactly valid: that OS X is not at all designed to work on hardware that wasn't built by Apple (and, indeed, getting OS X to work on non-Apple hardware requires a modified OS X and installer on top of matching the hardware of a Mac almost perfectly).

Now, while legally, you are perfectly right, Windows is as close as ever, it's not actually that hard to look under the hood.

I work as a Windows device driver developer, and sometimes I need to reverse engineer some of the internals, and the source code from WRK is easily available on the internet : (http://gate.upm.ro/os/LABs/Windows_OS_Internals_Curriculum_R...). These are sources from 2005-2006 timeframe, but they are tremendously helpful when debugging. If you compare the disassembled version of an exported function from the Win 8.1 ntoskrnl, in most cases it's almost identical to the sources in those links. Of course, there are a few parts of the system which suffered changes, but nonetheless, it can still be very useful.

I would also recommend it for studying operating systems, but obviously, along side something else. Let's say after starting with XV6, or Pintos, Minix, then moving on to NetBSD, Linux, only after that having a look under the hood of Windows, to see a slightly different approach.

There is also the 'Windows Internals' book, but I never found it too useful. Describing concepts without any source code, and without a view to the implementation is not very helpful for me.

But I completely agree with you, personally, I would never use Windows if I wanted to play with it, I only use linux and bsd at home.

> I would also recommend it for studying operating systems

Perhaps not if you plan of contributing code to any open source OS. Practices like this can leave projects exposed to intellectual property violations.

This is why reverse engineering usually requires more people, each who isn't privy to the previous persons source material.

So basically, you can set the example for kids to not give a crap about IP and that it is OK to study/do whatever they want with something they find online. Nevermind that because they have not signed the MS agreement it is basically stolen property.

I see somebody mirrored it already.

Given that one of the core principles the hacker culture was founded upon is "knowledge should be free", I think setting such an example is clearly in the spirit of encouraging such a culture.

Unfortunately the average kid is likely not going to discover such things on the Internet, and even those who pirate tend to be more interested in far less educational content... I think it's somewhat sad that, despite the various file-sharing/peer-to-peer systems that have appeared making it easier than ever to share lots of content, and build something akin to a massive distributed library, the majority just use them for entertainment.

That benefit doesn't seem like enough to offset the fact that they'll be running an OS which is very difficult or impossible to actually modify for use. Any changes made would amount to a fork with one of the worst possible merge workflows; for beginners an open-source environment is much easier to start modifying, and for the more experienced it's much more productive to modify an environment that has a responsive upstream.

Really, we shouldn't encourage kids to waste their time on operating systems whose developers are hacker-hostile.

That assumes you can't do anything useful ON an operating system without changing the underlying system. I've never changed linux or osx either, but I find I can do a lot of useful things on them.

It hasn't been as common for a while, but I remember using a litestep ui in the win2k era... actually like the Windows 7 desktop/menu/toolbar interface a lot.

Beyond the UI on top of the underlying OS... I'd say that most software development is business processes, which can be handled in pretty much any operating system and higher level language on modern hardware/software that costs a lot less than the time used to develop said software. Yes, performance matters. Yes, there is a need for open platforms. However, good enough gets the job done most of the time.

I mention this as someone who really doesn't want to deal with the underlying hardware any more than I need to. I have no interest in writing or debugging drivers or system libraries. I do like writing useful, and sometimes not so useful things on top of other tools. If I can do that in node.js, c#, go or other languages that makes me happy. It also makes me frustrated when I need to do something in Windows that's far easier in Linux.

"That benefit doesn't seem like enough to offset the fact that they'll be running an OS which is very difficult or impossible to actually modify for use. "

That's a bit harsh. The point of OS is to provide a computational platform for higher level computational stuff like arts and science. It would be a dark world if everyone just tinkered with OS kernels (while it sure is nice some people do).

Are Snowden's files a stolen property of NSA?

The NSA is a federal government agency, and as such, its works are not subject to copyright. Snowden leaked only public-domain information.

(Ask an irrelevant question, get an irrelevant answer.)

And only until Microsoft turns a blind eye. Anyone remember what happened to the WP7 "ROM unlocking" guys? Microsoft bullied them with legal action, and then they announced some kind of "partnership" where the project they were doing for free before now cost $10...and it quickly disappeared.

> http://gate.upm.ro/os/LABs/Windows_OS_Internals_Curriculum_R...

Oh my. Aaaaand, mirrored. There's also this, which seems about the same level of should-this-actually-be-publicly-available: https://github.com/njdragonfly/WinNT4

Wait, someone put the (partially-)leaked NT4 src on github of all places? DMCA takedown from MS in 3...2..1...

It's been there since 2011

I know right, at least make your repo private ;-)

(I was more surprised that this source dump doesn't seem to line up with the "Windows 2000" source leak that can be found if you look hard enough. Very peculiar.)

> and the source code from WRK is easily available on the internet : (http://gate.upm.ro/os/LABs/Windows_OS_Internals_Curriculum_R...). These are sources from 2005-2006 timeframe, but they are tremendously helpful when debugging

What's the story behind this? Did Microsoft willingly open source parts of its Windows kernel?

No, Microsoft has this Windows Research Kernel they offer to universities and other organizations under a certain strict agreement. This particular site probably has no idea of what access control, or directory access rights mean, so it's easily accessible for anyone.

I would regard this as poisonous in terms of IP.

If you read that code and then contribute to an open source project (or even your own) and Microsoft finds out and tags you as foe, you'll be in a very bad position.

I agree. This is pretty sad news. The Pi 2 page promotes Windows more than the alternatives, which seems to indicate the foundation has been completely "embraced" in the usual 3-stage process.

It is another reason to not promote the RPi, and recommend other single board computers instead like those found here - https://www.fsf.org/resources/hw/single-board-computers

Sigh. I think I preferred it when Ballmer was in charge and Microsoft seemed clueless :-/

> Sigh. I think I preferred it when Ballmer was in charge and Microsoft seemed clueless :-/

It's funny you say that because I used to joke that Ballmer did more to aid the adoption of Linux than Shuttleworth had.

From the perspective of many, including myself, it is easier to develop apps for Windows than for Linux.

While having software that's open source on the Pi would be awesome, what would be even more awesome is tonnes of apps on Github that are easier to write for the Raspberry pi to allow it to do more than it can currently such as Media Streamers & Servers of all sorts with tonnes of forks.

For what its worth, this is giant leaps forward for Microsoft and vastly uncharacteristic of what they're used to. It shows that they're hell bent on driving their platform through developers. The typical R-pi purchaser is a dev after all.

Yes, Microsoft has been kicked pretty hard by free software and open hardware. Now they're adapting. However, I don't see a problem. Microsoft is making that hardware market even larger. If Linux is "cool" and interesting enough, kids will boot Linux and run it on one or more of their Raspberry Pi's.

Linux developers should also consider that the "hackable system" feature is only one of many features that people consider when choosing an OS. It might be good to add a few more carrots to Linux rather than beating people with sticks for not using free.

The problem is that you can see a lot of kids on RPi-related forums who are used to Windows, struggle with Linux because that what they have to use, and eventually learn a ton of stuff along the way.

The whole point of the RPi is to hack, if it's just a way to get a cheap, regular computer then a good part of the appeal is gone.

What carrots does Windows have that Linux doesn't besides a larger variety of software?

Linux is used in far more circumstances than Windows and is just as capable as windows when it comes to 99% of tasks.

Buy Linux on an Ubuntu certified pc and you will have zero issues.

In reality most consumers don't use more than a web browser.

Mostly the fact that people already know it and are too lazy to learn anything else.

To take an example: building a Mame box. On Windows it's a major PITA because replacing the windows shell to start directly Mame is a big hack, because you need to configure Mame in command line / editing text file which is a pain on Windows, because you can't just ssh to edit config files from a regular laptop, etc. On Linux it's much easier, and you end up with a clean configuration that does just what you need.

But you know what? People still use Windows on their Mame cabs because it's their confort zone.

>Mostly the fact that people already know it and are too lazy to learn anything else.

But that's hardly a carrot when it comes to learning CS/Programming. Whether you were to learn on Windows or *NIX it takes a lot of non-intuitive steps too get going.

When I started to learn python I used notepad on Windows and ran it on the command line, I soon switched to Linux and wrote my scripts in gedit and ran the programs on the command line.

The learning curve was about the same. It seems to me that a lot of the skills you learn on Linux when it comes to programming can be applied to windows (you just have to learn their GUI), but methods learned in windows generally can't be applied to other OSs.

Or it makes tinkering easier and simpler than ever. Linux is many things. User friendly is not one of them.

Linux is beyond user friendly these days. It just depends on what you want. I gave my wife's parents, two old hippies who live in the middle of nowhere and have literally no computer skills, an old laptop with Ubuntu on it. It's been totally fine. If they can use it, anyone can. Long gone are the days of needing editing configuration files in a terminal editor. Of course power users still can, but for novice users it's just as friendly as Windows and more friendly than OSX I would argue.

I wanted to use my Raspberry Pi to share an external NTFS formatted hard drive on the network. This required installing support for NTFS, making changes in fstab to mount it with read and write privileges, installing Samba, making changes in Samba's configuration file, making a new Samba user, restarting services, and probably more that I've since forgotten about. Every step needed to be researched through a mixture of blog posts, Wikis and other online resources.

I also wanted to run a Python 3 script I'd written on a different computer. Python 3 wouldn't install through apt-get, so I downloaded and installed it myself. Various dependencies wouldn't install using pip, instead giving error messages mixed in the regular output from the install process. I don't remember the actual errors now, I gave up and ran it on a Windows desktop instead.

Sometimes Linux gets in the way of what you want to do. Sure, keep at it and you've learned something, but sometimes you want to get stuff done and don't really care about how hard drive mounting works.

I'm still a big fan of Linux and open source, but I think Windows is a fine option for Raspberry Pi 2.

OK so let's take your example from the perspective of a Linux user trying to use Windows 10...

So I want to share out my external ext4 filesystem from Windows 10. There are no options. I'm done.

Sure, an ext4 tool exists for Windows on x86 but it will not work on ARM. Probably won't work on Windows 10 in general anyway.

Even if I could get Windows to mount the drive I still have the hurdle of NFS (or sshfs or other options) to overcome. Windows Server 2012 ships with old school NFSv3 support but regular desktop Windows does not. That means finding and downloading a 3rd party tool.

In the past I've solved the problem by using openssh under cygwin but let me tell you: getting openssh server setup and configured in Windows, starting on boot is much harder and more complicated than getting Python 3 running on Raspbian (the latest version of which actually has Python 3 in the repos).

There's another thing I want to point out: The Python 3 problem you experienced has already been solved but I don't see the ext4 (or any other common Linux filesystem) being supported by Windows any tine soon. It won't be solved because Microsoft has no interest in interoperability and the closed nature of Windows means it is difficult for 3rd parties to solve for the rest of us.

> This required installing support for NTFS

What distro were you using? Most ship with NTFS support last I checked (though perhaps there's a higher concentration of distros without NTFS support for the RPi).

Similarly: why even use NTFS in the first place if you're doing a network share? Samba can serve files from an ext4-formatted volume to a Windows client just fine. Unless you were planning on being able to remove the drive and plug it into a Windows machine directly, there's no need to use NTFS at all.

> Every step needed to be researched through a mixture of blog posts, Wikis and other online resources.

This is true of a lot of things, no matter which operating system one uses.

Remember that Samba is designed for enterprise environments. Setting up a fileshare in such an environment with Windows is typically just as complicated (but involving a lot of graphical wizards instead of configuration file editing), since there's a lot more involved than just right-clicking the drive letter and telling Windows to broadcast it on the network.

You're right that the process for sharing files over a network with Windows hosts ought to be made more accessible for home users. Linux doesn't really have a "Homegroup" equivalent, which is unfortunate.

> why even use NTFS in the first place if you're doing a network share? [...] Unless you were planning on being able to remove the drive and plug it into a Windows machine directly

That's exactly what I was planning. Also, the drive already had data on it that was supposed to be shared.

I did not intend to start a Linux-Windows flame war, I merely pointed out that for the majority of people buying a Raspberry Pi 2 for the purpose of using it for other things that learning Linux, Windows will be an acceptable choice and in a lot of circumstances probably get out of their way more than Linux. On the other hand, I don't know how you would use the GPIO pins in Windows, but that's easy in Linux. It depends on what you're doing and what you're used to.

Good point. I forget that Linux on this new Pi will be more like Ubuntu on a laptop than a CLI with a stuttery slow X interface or Wayland with much tinkering.

I wouldn't trust my parents to configure any of my machines securely (Windows, OSX or Linux). In fact, I advised my mum to use an iPad as it stops her fretting all the time. Sadly, she still struggles with using iOS since they removed all text and replaced it with obscure 1px line hieroglyphs that are apparently meant to communicate an idea (obviously, a box with a tiny arrow coming out of it means share, right??)

Let's hope that they make the SD card reader on this new Pi respect the RW/RO switch on SD cards!

A co-worker completely corrupted his install of Mint and had to start fresh because he changed his background. So, uh, no, I politely disagree. It's not user friendly.

I don't understand what you're saying? What is something one might want to "tinker" with in windows that is more complicated than "tinkering" with it in Linux?

I assume you mean install drivers or possibly configure an internet connection?

This can be a head ache on windows just as much as Linux... and believe it or not there are ubuntu certified PCs that literally work out of the box.

I'd argue learning to "tinker" through a whole bunch of GUIs specific to one OS isn't a good starting point for anyone.

If you plan on using complicated UIs and powershell then the learning curve is already really steep, so Windows doesn't really offer any advantage here.

Knowing Windows != Knowing computer science

> User friendly is not one of them.

That highly depends on what you're doing though. The Raspberry Pi in general isn't a user-friendly piece of hardware, the OS is only a piece of that. The fact that at least past iterations of the Pi aren't extremely fast means that it also had to run fairly unfriendly stripped-down setups so you could squeeze power out of it (IE. Even if you could run Windows on the Raspberry Pi 1, it wouldn't have been very pretty. The advantage of Linux was that it could run with a lighter setup.). With the new processor in the Raspberry Pi 2 I'd expect you could run much a much nicer setup on the Pi, comparable to the Windows setup. I'm interested to see how well Windows 10 actually runs on it though, I'm not convinced it's really fast enough to handle a full Windows stack, so it's possible we might see some type of stripped-down Windows setup for it. In which case, it will probably be less user-friendly.

TIL it's still 2005.

Seriously. This whole "Linux is not user friendly" myth has been a myth for almost a decade now. I've seen 70-year-olds with zero understanding of technology whatsoever use GNU/Linux (openSUSE, specifically) without problem. Let that sink in for a second.

> However, Windows seems very much contrary to the goal of the Raspberry Pi: providing a device for children to tinker with and educate themselves.

Think of it differently--some kids may wish to learn about other things, or just build something. Not all kids will want to dive deep into the OS.

I think you are operating with a very narrow view. Only a ver, very small percentage of people, adults included, will dive into OS and kernel source code. A lot of computing can and does happen without having to operate at that level.

In 35 years as a software/hardware engineer I have never had to go into OS source code for either embedded or worstation applications. I have written real-time operating systems from sctatch for embedded applications running inside customized processors I built inside FPGA's but that's about it.

Yes, I am suggesting that the lack of access to source does not limit growth or learning in any way. They can always run Linux on any platform and go as deep as they with. That's the other point. When the platform costs $35 you can certainly have more than one and play with different OS's and applications.

This is a great point, well said and does not deserve a single downvote. The problem is that you disagreed with the primary constituency of nix lovers around here. It should not be done on a highly visible thread if you value your karma.

Offering free software is only a crime when Microsoft does it. I find it laughable that these people typically support new tech, they back all sorts of non-open source projects and questionable schemes like growth-hacking when it suits them, but when it comes to Microsoft they just love to hate. (EDIT: I personally don't give a hoot, so downvote away Micro$oft haters ;)

It always was fundamentally unhackable. It was built on top of Broadcom, which has completely closed documentation. Frankly, Arduino / Atmel is the only open platform from bottom to top. Oh, and PCs (Intel / AMD).

I don't think Windows is going to close any real bits of the Raspberry Pi 2, at least any more than it already is.

I'm actually more excited about "open" hardware like AMD AM1 or Intel NUCs for this reason.

They will surely open up their core as well when they see how much good open source is doing to dot net. Satya is a smart man.

"My fear is that teachers will now choose for Windows on the RPi, since that is what they know."

Well, no. Almost none will have used Windows without the GUI.

libc is a particularly bad example, actually, because the sources for it are even included with VS. Whether you actually want to look at the horrors of printf is another question, though.

> My fear is that teachers will now choose for Windows on the RPi, since that is what they know. And we are back to where we started: a fundamentally unhackable system.

I think that is extremely unlikely to happen.

Raspberry Pi 2 actually seems suited great for Windows 10 as Raspberry Pi is not a true open source device(Broadcom proprietary blobs abound).

Most importantly Raspberry Pi is a friendly device which managed to really manage the market(press/public) perception just right despite the delays and early failures.

Same goes for Windows 10, definitely not open but friendly and the price is right in this case.

Note: Windows 10 on Pi 2 will be an IoT platform, not a desktop OS.

You'll develop your app in Visual Studio on a Windows PC and deploy it to the Pi.

Raspbian will continue to be the main supported OS.

- Ben from Raspberry Pi

Thanks for the clarification. I'm not familiar with Microsoft programs and I didn't know what "IoT platform" was (in fact, didn't know that IoT was "Internet of Things").

This combination seems like the exact opposite of what an IoT platform should be.

Can you clarify the key differences? What happens if you hook up a monitor, just DOS command line or does it have a desktop UI? Can you remote desktop?

That's seriously underwhelming...

This is not the desktop version of Windows 10 but "Windows 10 IoT". It has no GUI whatsoever. People are planning to buy this, thinking they will be able to run some sort of desktop Windows. They're in for a huge disappointed.

Thanks Ben, I've upvoted you as I think this should be at the top of this discussion.

As others have said, it would be worth making this clear on the Raspberry Pi site, even if MS don't make it clear enough (judging by the comments) in their own brief announcement.

I think you need to make that clearer on the webpage judging by the other replies in this thread...

But it will run Windows 10 and Windows Universal Apps:


I find it strange that Microsoft is trying to pitch Windows as an OS for Internet of Things projects running on ARM processors. Microsoft's primary strategic asset, the Win32 API (and specifically the large number of x86 Windows apps), is useless for this use case. And it seems to me that Windows would be quite heavyweight compared to a stripped-down Linux-based system. I guess they're desperate.

The real asset for IoT is .NET. There are already some manufacturers using Micro .NET for such purposes.

Many IoT vendors are shipping JVMs on their devices.

So this seems natural to bring .NET to the Pi.

Ben can you shed any light on the EULA terms on the Microsoft site? To get access to this program you must accept the EULA which states that you will only be allowed one single install of pre-release software and the license is only good for 60 days.

Sounds more like a standard beta/RC license than a real "free for the maker community" license as the PR announcements seem to imply.

Thanks for the clarification!

You've rendered much of the debate here totally moot with just a couple sentences. *High five. :)

What does that mean? So Visual Studio hasn't been ported to ARM, that isn't really surprising. But can I run any existing application I build targeting ARM like on a jailbroken Windows RT system, or do they need a Microsoft signature?

> IoT

What is that? "Internet of Things"? "Installs on Tablets"?

Just to be clear, IoT isn't specifically a Microsoft thing:


Does that mean it will be Windows RT API-wise or something else?

Ok, that wasn't clearly stated in the article

There's nothing wrong with learning to first code on Windows. If it is easy for a kid to get going and start making stuff, they have a much better chance of sticking with it long enough to actually be interested in it as a hobby or career. My first programming experience was VB6 on Windows 98. I went from there to C in Visual C++. Fast forward to today and I write Java on OSX that is deployed to Linux machines. Most of this stuff is pretty transferable. Starting on Windows by no means stops you from exploring Linux later.

CS fundamentals can be taught on any system. Most kids don't have really technical people in their lives to get them past some of the hurdles of even getting started. I think we sometimes forget that the whole world doesn't want to be Linux gurus -- they want to be able to watch their cat videos and check their Facebook accounts. Most people don't care about the technical parts. If we can try to make the more technical parts accessible to a wider audience, I think that's moving the needle in the right direction.

>> CS fundamentals can be taught on any system


I don't know why a lot of people just assume that having Windows means you'll learn using Microsoft's development tools. Nothing's preventing you from choosing Apache over IIS, or Postgresql/MySQL over SQL Server Express.

Most major web app development platforms run on Windows, and there are plenty of good, free text editors too.

Because professors are teaching those tools, which means students are more comfortable with them / know what they are.

This isn't CS fundamentals, but, at least for a good portion of CS 1 classes taught at my school, and all of the CS 2 and data structures, Visual Studio is what people are taught, with the OS X users typically using XCode.

I don't know if it's better to start with IDEs or just basic text editors and compilers, but I know a lot of CS majors are going to be coming out of my school without knowing how to compile and run almost any program without clicking on the green run button in their IDE.

While most people don't hack kernel code themselves, there is still value in promoting open source operating systems. A future in which Windows becomes popular on mobile/embedded devices is likely a future with more binary blobs, more OS-locked hardware, and fewer opportunities for those people who do want to hack on kernel code.

> A future in which Windows becomes popular on mobile/embedded devices is likely a future with more binary blobs, more OS-locked hardware, and fewer opportunities for those people who do want to hack on kernel code.

I just can't agree with that. F/OSS fan that I am, I still think the same opportunities will exist whether Windows runs on a particular piece of hardware or not. After all, GNU/Linux and BSD have flourished despite Windows running on the same hardware for the past 30 years. How is this any different? I see it as opening up new channels for learning, not closing them off.

To look at it another way, this is similar to Microsoft being late to the party on modern smartphones. The existence of Windows Phone 7 and 8 has done absolutely nothing to slow down the explosion of popularity in Android and iOS phones.

I don't foresee a huge percentage of Raspberry Pi owners jumping ship to Windows 10; maybe dabbling with it but that's it. As far as we know, GNU/Linux will continue to offer a superior learning experience.

FreeBSD has "flourished"? I seem to remember only two years ago before Christmas they were begging for donations or they will close shop.

Linux and FreeBSD/OpenBSD certainly hasn't "flourished" on users' PCs either, which is the above commenter's point.

I didn't see anything in the parent's comment about GNU/Linux or FreeBSD on desktop PCs, nor was I talking about it on desktop PCs. The Raspberry Pi has always been meant as a learning device, a maker's toolkit, a base for building something other than a boring desktop PC. The fact that it now has the power to be a desktop PC doesn't mean that's all it will ever be.

One definition (the one I was using) of "flourish" is "to develop rapidly and successfully". I stand by that description; GNU/Linux and the BSDs have seen steady improvement and rapid development surges over the past few decades. If you're claiming otherwise, I'd say look at the server statistics across the Internet. Look at mobile phone operating systems. Look anywhere but the desktop, and you'll see Free and Open Source solutions far outstripping any offering from Microsoft.

I say, welcome to the party Microsoft. Again, one more channel for learning should be welcomed, not shunned because of old prejudices.

What? These are not "old prejudices", Windows is still proprietary software and that's still harmful to user freedom. This is not just "one more channel for learning", it's a dying proprietary platform trying to piggyback on the success of a popular open-source platform.

Given that Microsoft is steadily becoming more open-source friendly and I'm seeing them being ridiculed for it across the web, I'd say a lot of old prejudice is at play.

Besides, Google's version of Android is also proprietary software that is not only harmful to user freedom, it's also more and more privacy hostile every day. Yet Google is still held as the pinnacle of open source friendly companies in some circles. Old prejudices, again.

I distinguish between proprietary apps and proprietary kernel. The open source world can build its own apps. Mostly. However, it can't build its own kernel if the hardware is undocumented and/or only supported by OS-specific binary blobs. Drivers are key to a lot of things.

MS is a lot more open-source friendly, and smarter, but it's pretty clear that this is a strategy to get more people tied into ecosystems which favor proprietary Windows. MS is behind, so they're playing catch-up.

I don't disagree, and I'll add that the Raspberry Pi is still encumbered by a binary blob that is required to boot, no matter the actual OS that is loaded after. I for one would absolutely love to see a 100% fully documented, Free and Open Source development board, from the board layout, to the CPU/GPU design, the boot code, and all kernel and userland software.

Unfortunately there is no real market interest for such a device, so I'll take what I can get.

While I don't run Windows in my house (except in a VM for work), I make a living teaching a product that does run on Windows, and I'm not an Apple (or Microsoft) apologist.

And I humbly submit that Windows as far from a dying platform. Less popular, sure, the numbers bear that out, but popularity isn't a measure of longevity. If that was the case, OS X would be dead, along with most Unix-like OSs.

Out of all of the exciting news coming from Redmond this past year, this has somehow taken the cake for me. In 2013, even suggesting Windows on Raspberry Pi could be a possibility would've gotten you laughed out of the room, and for it now to be actually happening made me take more than a few double-takes.

Somewhat unrelated: I ended up googling "take the cake", - I never heard that in English before but it seems it has a long history: http://www.phrases.org.uk/meanings/take-the-cake.html

At least in my group of friends this was joked about as late as yesterday.

Definitely impressive of Microsoft and the RPI guys. I'm looking forward to trying it out for myself.

It's not that surprising news. NT has supported ARM for a few years now and the Raspberry Pi 2 is a pretty beefy board - all things considered.

Actually Microsoft seemed to be backing away from ARM support. They have abandoned Windows 10 for existing Windows RT devices, for instance.

That is probably because Surface RT has pretty much been rejected by the market. There is no business in beating a dead horse.

I dunno, Windows has always seemed to enjoy running on cheap hardware.

Linux also. From the consumer market, only OS X/iOS demands over-priced hardware to run.

Premium not over-priced. I am still yet to find any laptop with the build or trackpad quality of any of the MacBooks.

Thinkpads have better build quality (but crappy trackpads). Macbook's cases feel nice but they're brittle.

Are you talking about the metal aluminum cases? Some of the most durable laptops i've had.

Sorry, but since the move to Intel it isn't "premium", it's just over-priced.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact