Windows 10 for Raspberry Pi 2
dev.windows.com
dev.windows.com
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 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.
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.
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.
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 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.
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.
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.
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).
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.
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...
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 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.
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.
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.
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.
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?
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.
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 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.
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.
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.
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.
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.
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.
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.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.
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
Windows actually has pretty phenomenal support for kernel driver development (https://msdn.microsoft.com/en-us/library/windows/hardware/ff...).
I don't see a comeback for linux. http://www.google.com/trends/explore#q=linux
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.
You and your nephew must be doing something very wrong.
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.
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.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).
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.
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.
BTW it seems interest in Windows is also halving every ~10 years (though not as fast as 'linux'):
That nearly put me off writing code!
Thanks to the BBC B and floppy disks!
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.
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.
Why not? Do you hod the opinion that kernel code is something impossible to mess with? If so, why?
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.
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.
I did like the fact that he posted a picture of kids using Ubuntu on his FB page though.
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.
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)
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.
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
Yeah, it's shorter than MS and Linux support windows but I wouldn't describe it as "constantly buying upgrades" either.
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).
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.
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).
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.
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.
I see somebody mirrored it already.
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.
Really, we shouldn't encourage kids to waste their time on operating systems whose developers are hacker-hostile.
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'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).
(Ask an irrelevant question, get an irrelevant answer.)
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
(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.)
What's the story behind this? Did Microsoft willingly open source parts of its Windows kernel?
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.
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 :-/
It's funny you say that because I used to joke that Ballmer did more to aid the adoption of Linux than Shuttleworth had.
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.
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 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.
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.
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.
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.
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.
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.
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.
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!
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
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.
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.
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.
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.
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 ;)
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.
Well, no. Almost none will have used Windows without the GUI.
I think that is extremely unlikely to happen.
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.
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
That's seriously underwhelming...
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.
http://www.hanselman.com/blog/TheNewRaspberryPi2WillRunWindo...
Many IoT vendors are shipping JVMs on their devices.
So this seems natural to bring .NET to the Pi.
Sounds more like a standard beta/RC license than a real "free for the maker community" license as the PR announcements seem to imply.
You've rendered much of the debate here totally moot with just a couple sentences. *High five. :)
What is that? "Internet of Things"? "Installs on Tablets"?
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.
This.
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.
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.
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.
Linux and FreeBSD/OpenBSD certainly hasn't "flourished" on users' PCs either, which is the above commenter's point.
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.
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.
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.
Definitely impressive of Microsoft and the RPI guys. I'm looking forward to trying it out for myself.
I am really excited about the prospect of Microsoft enabling writing and debugging for the Pi using Visual Studio. They already have the feature for android in the Visual Studio 2015 Preview[1] and making it work for Raspberry Pi on running Windows should be easy. With an excellent development environment and debugger, I think interest in C/C++ programming for the Pi will be increased as it will be more accessible.
[1] http://blogs.msdn.com/b/vcblog/archive/2014/12/05/developing...
Another issue little discussed is the intense PR campaign that it's only useful for education despite it being a pretty good generic appliance. I've never used one for education and have zero contact with that small subculture. Most pi users are using it as a low power small solid state replacement for "pull that old used desktop and slap linux on it" I wonder how the PR campaign that its an educational device will be enforced at the OS level, perhaps a watchdog timer will reboot it every hour or it'll be DRMed to heck and back requiring signatures for all executable software or who knows what could be implemented to ruin it for hobbyists without significantly impacting the edu market.
The argument must be, "preserve the children's rights to think for themselves." It is on us as adults - parents, teachers, trusted elders, whatever - to instill in the kids the information needed to make decisions, and the fundamental skills to objectively utilize that information in a rational decision making process. In my humble opinion - reflected in my own choices as a parent - that means Linux (a term I use in its colloquial form, please do not nit pick on that word) on the Pi. My kids see Windows at school and at friends' homes, OS X and iOS at home, and as of today I'm taking my RPi off duty and showing it to my kids. It's a snow day, they're a captive audience!
It isn't about a six year old compiling a new kernel or a teen getting a Minecraft server to run a mod, it's about creating a spirit of curiosity and experimentation.
The educators that want to foster an interest in computing will do so in a way that's least burdensome to a child's limited attention span and desire for instant gratification. Those that want to foster an interest in writing software simply won't put Windows on the thing unless they're teaching it.
"This computer sucks, Dad! I tried to debug into an NT system call and it didn't work."
You _might_ have graphics, but not a DE.
Edited to add: based on this video, http://channel9.msdn.com/Events/Build/2014/2-511, this will probably be considered as a "micro" system without any UI.
Based on my experience with Win7 and Win8, I expect that Win10 would have crawled (or not at all worked) with the slower CPU and smaller memory.
My guess would be that the Raspberry Pi 2 is, in fact, a Microsoft initiative rather than an RPi Foundation initiative - and that Microsoft have actually contributed significant funds to make this possible. Either way, that is good for the community - I don't have a problem with Microsoft financing my stuff as long as it does not come with any strings attached (which, I trust the RPi foundation to have insisted on).
Pure speculation, of course - but I'm sure we'll hear a lot more about this deal.
Note that when the B+ board was designed, they already knew the pinout of the new chip and were leaving space for it.
Since it's ARM, you also won't see any of the "full programs" you see on x86 platforms. Just some simple mobile apps.
I don't think it's a "Microsoft initiative". Many RPi competitors have already moved to quad-core Cortex A7 chips, so it's quite predictable. But I'm actually quite disppointed by this move from the RPI Foundation. They should've skipped straight to Cortex A53. Now devs will have to support ARMv6, ARMv7 and a year or two from now ARMv8 as well.
They mention on the raspberry pi blog that for now, the official userland is going to stay ARMv6, and through this year they will consider how to provide ARMv7 userland if at all.
Mono is too heavy and have millions other dependencies I dont want to grab.
Running a modern & practical functional language on RB Pi will be extremely joyful for me.
sudo apt-get install fsharp
[...]
Need to get 22.2 MB of archives.
After this operation, 66.0 MB of additional disk space will be used.
Personally, I wouldn't call that heavy.Remember that the 10MB figure for CoreCLR you give is just for the runtime alone, it doesn't include any class libraries. The Mono runtime is in the same ballpark.
It was targeted mostly towards very low-specced hardware, closer to a Arduino than a Pi.
I'm guessing things like F# relies on too much things which are not included here.
One problem that I see is that Broadcomm and peripheral makers will continue to release binary-only blobs/drivers, and the MSVS based toolchain could start to be the only way to do some of the really cool things. ie a few "killer" apps will done up and those will only be accessible on the Win/MSVS (free-as-in-bait) platform. Linux will again be relegated to the kind of blind-reverse-engineering, playing catchup, and being a second place late finisher; which we have all seen, and continue to see today.
Another is that educators at the lower level will take the "easy/safe/familiar" route and teach Windows exclusively, as is the case today even into college.
http://en.wikipedia.org/wiki/FX!32
FX!32 is a software emulator program that allows Win32 programs built for the Intel x86 instruction set to execute on DEC Alpha-based systems running Windows NT.
Jokes aside, strategic move by Microsoft. The new CEO has some interesting stuff in mind indeed. Can't wait for the build conference where they open the HoloLens dev tools.
The 9926 build is the first I've noticed that the started Windows 7 "Search Program and Files" has been replaced with "Search the computer and web". Apparently you can't turn it off. I could not find a group policy or regedit tweak to turn it off. A Microsoft support article said you cannot, period. Everything you do is a search. This default behaviour, even in Ubuntu, was what helped me switch distros.
The problem with this default behaviour is that it won't fly in corporate and government environments. Any place that does a security audit will have to redo a security audit every single time a new system is placed onto their network.
Microsoft seems to be moving towards the trend of easy use rather than productivity.
Trying to make a child's first impression of computing being tied to Windows makes sense. But aren't there going to be issues with blatantly monitoring kids like this?
Adding a humongous blob of unmodifiable software doesn't really align with any of that. In the best case people will shun this, in the worst case it could harm the culture.
Meta: Why all the anti-MS cynicism on the threads for this topic? Isn't it kind of old now?
(Edit: Added "...unlikely to ever be mainstream...")
From a different perspective: As someone who until recently lived in Washington, Microsoft's management stack hasn't changed. It is still a very Sales-driven organization, with very little leeway given to Engineering to drive things that are useful, interesting, or innovative. How this fits into a Microsoft sales plan, I don't see; It might be somebody's pet project based on their child's interest in a Pi (As was basically the origin of the Zune and Kinect; I know the sales guys who responsible for allowing those to be engineered). Regardless, I expect it to be a redheaded stepchild, because it's sales potential is not proven.
You say you lived in Washington, are you implying you were a Microsoft employee? Seems from everyone I'm hearing from that they've been making major structure changes for a while now and a lot of the old management has been shuffled or removed (especially with those huge rounds of layoffs) so I'm curious as to why I'm hearing something different from what you're saying.
I feel bad when I have the "anti-MS" feeling. I truly do; I feel like I'm being over-simplistic, I feel that I'm being prejudiced... Well, you get the point. However, you can't really say this is "kind of old". "Embrace, extend and extinguish" practices are recent, even considering the short "horizons" in IT. And, after the "Mobile-first, cloud-first" vision [1], you can't really blame people for finding these MS initiatives a lot like "hangin' with the cool kids" or "sounding hip".
[1] http://news.microsoft.com/2014/03/27/satya-nadella-mobile-fi...
This announcement is undoubtedly partly publicity-driven. But its also about keeping Windows visible and relevant to groups who may not use PCs much. And if the RPi does become the standard IoT hardware platform, then Microsoft will want a bit of that too.
And embrace, extend, extinguish makes no sense in a community-driven ecosystem. MS knows that.
So assuming EEE would "make sense in community-driven ecosystem" they still would do that. Wouldn't they ?
I'm ok with Windows on Rasp2 - Linux needs competition.
No, they're still evil monkey corporation. Their marketing has improved and so has the quality of some of their products; but do not fall for it, copulation will ensue. They have nothing in common with "open" or "free".
http://tvtropes.org/pmwiki/pmwiki.php/Main/AsbestosFreeCerea...
Is this a wildly recognized acronym so that it doesn't even need a footnote? (In a Sans Serif font you can't even tell if the first letter is an i or an l; it's really bad).
I like the new direction of MS, but i wonder if it's possible to succeed with so much old baggage to carry...
I think they're approaching this from a redundancy point of view, if person X already has Windows on his desktop (on which they have the market cornered), provide them with subsidized Windows platforms on other hardware where the monopoly is not yet in place. This then would cause the interest in other platforms to dwindle, as people would flock to what they know. Here also the EET mantra could come into play again, by offering features not available to other platforms.
They need a foothold in other hardware, most likely for the coming of Internet Of Things.
It makes business sense for them to increase their reach, but don't think that equals Microsoft being fond of Open-Source.
Like every human exchange, you don't have to be an altruist for your deed to be good. It's alright to do "good" even if it derives some sort of benefit for yourself or your company.
But a lot of people are saying 1) this doesn't offer anything educationally that wasn't already available and 2) introduces users to restrictions that will ultimately be costs to their educational development.
There is 3) teachers will be familiar with Windows and thus more able to offer computer education with it. You can do real stuff on a Windows machine, but most of what I see on Windows machines in schools is "here kids, this is how you work Excel / Word Powerpoint". Frankly I worry that inner city schools will be blanketed with these things, with token "computer education" offered on them, and everyone congratulating themselves on addressing the technology gap while the kids learn some Office and not much more.
Doesn't that say that the tools / model being offered here is fundamentally broken? If you can't give it away without slowing down the progress you're trying to help, that's a problem.
there are plenty of "business-oriented decisions" that are bad for others; being pro-competition or anti-monopoly is not the same thing as being anti-business in general, as you seem to be implying here.
the poster was talking about Microsoft's use of network effects as an anti-competitive strategy, not about criticizing a company attempting to make money.
What is important is how it affects me and my interests.
Except for writing a commercial app for Windows 1.0, I have not been much of a Microsoft fan over the years but that has changed. I joined their BizSpark program, I now have a family subscription to Office 365, and even recently bought a Windows 8.1 laptop. I usually develop using a Linux laptop but Windows 8.1 and OS X are also both nice enough to use for development.
I think Microsoft's change in direction with supporting their productivity tools on all platforms (for Linux, using the web based version of Office 365 is handy) is surprising, but makes a lot of sense.
I agree though, AWS is also a great platform - I have been using it for customer work just about since they released EC2s.
Remember when the regular internet started having a lot of nodes running windows? We haven't recovered from that yet. Now, imagine that the majority of those nodes are in control of something with external manipulators.
People will discover the limitations very quickly, especially compared to Raspbian/Ubuntu/OpenSUSE/etc...
All of WinRT and Metro you would NEVER want, without that pesky Windows applications (x86) compatibility every statistical user associates with Windows brand.
Could it be that microsofts API's for IoT/Smart homes will not be part of the cross platform (core) .NET package? If so then at least this move makes sense: "use a windows IoT device and you get all these handy microsoft IoT API's".
"...the Windows Phone OS will include the same file system (NTFS), same networking stack, same security elements, graphics engine (DirectX), device driver framework and hardware abstraction layer (HAL) as big Windows."
I hadn't realized they share so much. If this statement holds true for the upcoming Windows 10, then it's probably the very first time DirectX is running on any SBC. I wonder if Broadcom have made some changes to VideoCore GPU to support DirectX.
For me it's the lower limit of what's possible and it's slow if you load up many apps, but definitely possible.
But this could work too!
Actually, I wonder if I could get ReactOS running on a Pi, might be the perfect testing platform. Hmm.
Just ordered 2 of them!
http://image.slidesharecdn.com/iot-whatisit-140607104402-php...