15 ms·
Why we need the best tools on Chromebooks and Raspberry Pi
- fredley 10y agoThe BBC micro's legacy lives on in the BBC micro:bit, launched earlier this year: http://microbit.org http://microbit.org. Some of the 'editors' (programs that handle writing code visually or textually, and transmit it to the bit) do run in the browser.
- headmelted 10y agoI had seen this at the time, and I'm actually very excited about it! I didn't want to comment in the article as I haven't been able to get one myself, but I have some time off coming up and I'm hoping to check it out then. In any case I think it's great that we again have access to inexpensive [coding/tinkering/making]-first devices.
- ktt 10y agoIf VS Code is written in HTML/CSS/JS wouldn't it be possible to use it without devmode on Chromebook? Oh, I just found a issue for that: https://github.com/Microsoft/vscode/issues/1031 https://github.com/Microsoft/vscode/issues/1031
- divbit 10y agoAs someone who's never owned one, I think there is something called 'crouton' which makes a chromebook into sort of like a low-end ubuntu laptop. Given that I've run VS code on Ubuntu with 2gb ram, it seems like it should be doable.
- headmelted 10y agoThis actually uses Crouton to create the Ubuntu environment that Code is installed into. ;-) More details here: https://code.headmelted.com https://code.headmelted.com
- 0xFFC 10y agoPeople keep saying this without realizing what is going on truely, there is two option: 1. Install crouton and use shell to Chroot to your distro (which makes most sense, became what is the reason to buy Chromebook in first place, since maybe you can buy laptop with better Linux support about same price, in this option you have your dev tools in your distro and simultaneously you enjoying your command line dev tools) But remember you are inside chrome OS so you dont have any way to access graphic stack and run Linux GUI app, I think with recent port of Android stack to chrome OS , makes Chromebook more valuable except if you want to run something like Java Swing oe eclipse( eclipse working on web UI , named Che) 2.Use croutin to install complete stack to run Linux GUI apps too.( Honestly I don't understand rational behind this, since you don't have for example Win key in Chromebook and many other issues.)
- intoverflow2 10y agoJudging from comments in this thread 'crouton' still has a several second splash screen on boot telling you to press space that when pressed wipes your entire drive. Hacks like this which devs seem to be happy to endure are not a solution for helping these kids to code.
- Touche 10y agoThe point of a Chromebook is ChromeOS. If you're using Ubuntu you might as well be using a low-end PC. Nothing wrong with that, but it's not a Chromebook any more. Chromebooks are not about the hardware.
- headmelted 10y agoYes and no. There are a few options I've been looking at that could yield improvements in this area. 1) Install the play store, if your chromebook supports it. Then something akin to Gnuroot Debian, and set up the environment that way. Install the package, and then forward the X11 window to something like "XServer XSDL". Tricky to explain to people, and I couldn't get it working when I tried for a few different reasons. 2) Add a side-by-side node.js server inside VS Code. This would effectively serve up the HTML/CSS/Javascript inside the window and the user could just use the web browser. By launching on boot this would have the neatest integration with Chrome OS, as you could pin to shelf and then it's just a http://localhost:XXXX http://localhost:XXXX URL. Even if the web content could be forwarded in this way I think re-implementing the Electron calls for the web could be a lot of work, and it probably belongs as an alternative Electron implementation I would think. The upside is that you wouldn't need dev mode as this could also run under e.g. GNURoot. These are a couple of ideas I've had. Would be eager to get someone from Microsoft's take on it though. :-)
- Lerc 10y agoI just took this screenshot on my Chromebook http://i.imgur.com/sPh0c6s.png http://i.imgur.com/sPh0c6s.png It shows my own homebrewed Desktop environment running in a browser window with a Monaco based editor open. So it's doable, but it would need quite a bit of work to beef it up to VS code abilities.
- tmzt 10y agoThis is awesome! Any chance you would release this?
- Lerc 10y agoThere's a somewhat dated version (pre-Monaco) at https://github.com/Lerc/notanos https://github.com/Lerc/notanos Things are a bit broken right now(like file requesters don't return the file selected) I work on it sporadically. Now that native promises are a thing I want to go through and tidy up some of the callback structure. The App API should ideally be all promise based. It's an intimidating task though. Next big update I'll probably get it to a point where I ask assistance.
- canuckintime 10y agoI'm still amazed that Google hasn't released their own IDE on ChromeOS and Android yet. Their Pixel series are lovely premium devices with a Unix underpinning that could become the default option for developers
- Lerc 10y agoThey came in with Chrome-dev-editor and then dropped it again. https://www.infoq.com/news/2015/06/dart-github-chrome-dev-editor https://www.infoq.com/news/2015/06/dart-github-chrome-dev-ed... I use it on my Chromebook quite a bit. It makes for a reasonable on-the-go environment running Node on the Linux crouton side and editor, output on the ChromeOS side
- fredley 10y agoLast time I tried to use a Chromebook for development (using crouton to have a proper unix environment), you had to enable developer mode. This presented a 30-second splash screen at boot saying 'press space', where pressing space would wipe your drive, resetting the machine. The machine also does this if the drive becomes too full. I can't go back until they sort these issues.
- whyagaindavid 10y agoThis may be a bit offtopic but relavant for anyone without a chromebook. A open-source recompiled Chromium OS is available for _third-party_ laptops/desktops - called cloudready OS. This is very good for older machines. https://www.neverware.com https://www.neverware.com I am not affiliated, just a happy user with 8GB RAM thinkpad!
- 8draco8 10y agoHow in the world 8GB RAM in a Thinkpad is not enough for proper operating system? On my x230 with 8GB I am successfully running Ubuntu Mate. I've spent couple days doing dev on it (usual LAMP/LEMP web stack + Sublime + browsers) and I was perfectly happy with that. Even my full time, desktop machine have 8GB RAM (but better CPU than thinkpad) and runs Ubuntu 16.10
- rbanffy 10y agoWhat does the performance on ARM look like?
- headmelted 10y agoOn Chromebooks: The only performance drawback I've encountered really comes from XIWI and the X11 forwarding introducing a slight lag sometimes, which is to be expected. In honesty though, this isn't really an issue as the underlying performance isn't hurt (it's still running natively at full speed, it's just the forwarding that would lag in that scenario). If you were in a drawing app, a game or in something like Blender, it could be more of an issue I guess! On Raspberry Pi: Solid. (At least I find it to be so.) :-)
- bonjovi 10y agoPersonally, I can hammer curl 25kgs
- Mike_D_Brooks 10y agoNot sure if you can do this on a Chromebook, but I set up samba shares on my Pi and connect to it using my desktop PC. This way I can use all my beloved programs and tools on my PC and then run it through my Pi. I know he's talking about the cost and not necessarily being able to afford a full fledged PC, but this could work for some.
- headmelted 10y agoThat's definitely an option, too! At that point you might also look into connecting over a remote desktop/vnc/ssh session, which has surprisingly solid support on Chrome OS these days. I've heard from a lot of friends that this makes their Chromebook their road warrior of choice (connectivity allowing obviously).
- andrioni 10y agoYeah, I do this every day: I treat my work laptop as a desktop, and just remote desktop into it from a Chromebook (or a Macbook, depending on where I am) whenever I want to work remote.
- pbhjpbhj 10y agoWhich seems like it could work with a bit of effort for schools. That students could run thick/thin clients by connecting to school servers?
- lifeisstillgood 10y agoFantastic article - as a dad of three I completely agree and this needs to be a thing that all families can access and do. Finding the time is always tough so having schools that support it is important
- headmelted 10y agoHear hear! I realize it's a small contribution, that leverages the work of others, but I hope people find it useful. :-) I really wasn't expecting to make the front page. It's really good to know that there are other people that can relate to the goal here.
- wingerlang 10y agoIt's actually "hear hear". Excuse the off topic.
- headmelted 10y agoI HEAR you. badum tisch Edited, thanks. :-)
- neals 10y agoI know very little about the working of both Linux and Chrome OS. So here's a question: On a Raspberry PI, one would typically use the command line, right? So does this VS Code install with a kind of GUI? Of do you need to install a window-manager-type-thing first?
- detaro 10y agoThe common Linux distributions targeting the RPi all come with a GUI environment, at least as an option.
- ivoras 10y agoJust tried it on a RPI2 + Ubuntu 16.04.1, a headless environment with X11 forwarding over SSH. There are missing package deps for GUI-like things (libasound2 and some OpenGL libs), and even with those deps manually installed, it crashes with "X IO error received (X server probably went away)" ... sooo, probably not a good choice if you don't have a local monitor & keyboard & mouse. Also, there's an "Error: ENOENT: no such file or directory, open '/home/ivoras/.config/Code - OSS (headmelted)/storage.json" , don't know if it's important.
- 13of40 10y agoI got a Raspberry PI 3 to use as a web server a few months ago, and the Raspbian OS image I downloaded for it had a full blown GUI. It even had a version of Minecraft on it.
- jsingleton 10y agoUnless you are accessing the Pi over SSH you will probably be using a GUI. VS Code will be running inside the window manager (LXDE). It's not something you run from a CLI. The main version of NOOBS has X starting by default these days. Even the standard Raspbian image has a GUI, but you can use the lite version for headless servers (https://www.raspberrypi.org/downloads/raspbian/ https://www.raspberrypi.org/downloads/raspbian/). This is similar to Ubuntu Server but different to NOOBS lite, which is just a small network installer.
- headmelted 10y ago
- gcb0 10y agothe flaw with this logic (low income families access to pc is via Chromebooks) is that everyone already has an arm computer in their pockets with much more power than the rasppi or even Chromebooks. i will always say that the next pc revolution will come in the form of the first open smartphone.
- pmontra 10y ago+1 but it's not a flaw, it's how it is. There is no easy way to develop on an iPhone or Android phone using the local CPU and storage. I stress "easy". You probably agree on this because you're advocating an open smartphone. I think we can do that with an Ubuntu phone. Not mainstream though.
- skybrian 10y agoThe difference is that Chromebooks have a keyboard. Programming without a keyboard is still a significant UI challenge - there are experiments but how usable are they?
- gcb0 10y agomy phones have a keyboard, when i want.
- guitarbill 10y ago> My own first experience of writing code was transcribing BASIC from one of these magazines to draw pyramids against a night sky. What he's doing is great. But the premise that it'll help kids learn is flawed. People starting off don't need the best tools. Like the author, I started with BASIC. Nowadays, it'd be Python. It needs to be easy, not perfect (god knows BASIC, Pascal, etc have huge flaws). Visual Studio is complete overkill.
- detaro 10y agoVisual Studio Code is "just" a fancy text editor, similar to Sublime or Atom, not a variant of Visual-Studio-the-giant-IDE. Having a good text editor they'll find in other environments as well is IMHO quite valuable for that goal.
- guitarbill 10y agoMy mistake, I was definitely thinking of the full VS. It does depend on how you define "best" then. I'd say this puts it in the "simple" category. I'll try it out and report back.
- yitchelle 10y agoI sort of agree with you. I also started on BASIC on an Atari 800XL. What really got me hooked was the immediately result of it. It booted up into an environment where I can enter code directly, run it directly, debugging was a little painful and had to use prints. But the path to seeing something happen was pretty straight forward with very few obstacles. In today's computer, I can't see any environment that would do that. If my kids are presented with Visual Studio, I think they would spend the majority of their time clicking on the thousands of buttons on the ribbon, perhaps.
- headmelted 10y agoJust to clarify, this is Visual Studio _Code_, not Visual Studio classic. I'm also not necessarily suggesting that VS Code is the best tool there is. It's just a tool that I know a lot of the community has rallied behind (and which I'm personally a big fan of). The article is more to suggest that I'd love to see more vendors provide their best work to these devices even if there isn't necessarily a large profit incentive to do so.
- chaz6 10y agoIn addition to deb and rpm packages, please consider providing an AppImage download. Thanks!
- headmelted 10y agoI hadn't seen this before, but it looks fantastic. I have some time free next week, I'll definitely try to make this happen. My ultimate goal here would be to convince Microsoft to add ARM support to their official version, although I realize after sending some DM's on twitter back-and-forth why (at least on Chromebooks) it's a road that would be tricky for them to go down. I'd be pretty confident of getting Raspberry Pi support into the official channels at least though. Certainly this has made a bigger splash this morning than I expected, so they'll have seen it.
- kleigenfreude 10y agoThis post gets it close, but what we need is the best tools that can run in a web browser on a public library computer. Many don't even have a Chromebook or RPi. And really what we need are the best tools that can run on the lowest end mobile phone. That way a lot more people could code: https://www.cta.tech/News/Blog/Articles/2015/July/How-Mobile-Phones-Are-Changing-the-Developing-Worl.aspx https://www.cta.tech/News/Blog/Articles/2015/July/How-Mobile... You could just give away free android phones- that'd be easier than trying to get everyone's clamshell phone to allow coding, and typing on a numeric keypad would be difficult. Also, even using Android- how will those people type? Hmm, maybe we just need to give them all computers or Facebook could set up computing centers. Actually, those luckily enough to get a ride into town and some money might afford 15 minutes in an internet cafe, so maybe if you wrote an app that could multifunction as a coding tutorial and universal web email client application at the same time maybe someone might use it. But definitely a low-end computer, so we're back again to serving some additional people realistically if we just have a webbased IDE that runs on a low-end computer. Should it support IE6 or IE7? Also, internet in many places is dog slow. Still beyond that what is desperately needed is food, clean water, shelter, clothes, blankets, feminine hygiene products, medical assistance, infrastructure, the ability to grow food, doctors that live nearby with a constant supply of resources, and electricity. There are many parts of the world that don't have these things. Don't give them computers first. It would be intercepted before it gets to them or taken away from them or sold for necessary items. Many can't code, as they're struggling to survive.
- fredley 10y agoOr maybe we need to get Chromebooks/RPis into public libraries instead? I admit RPis are probably a bit of a stretch - given the potential for malicious usage, but Chromebooks seem to be an ideal fit, for much the same reasons they're good for the education market.
- kleigenfreude 10y ago(Note: fredley responded when my comment was just the first line about public libraries.) I think this gets too expensive. Instead, I think you need to just serve the lowest denominator and help those that don't even have that with other resources.
- albertShadows 10y agoawesome
- 3chelon 10y agoI'm a veteran of the UK's Golden Age of Computing too, teaching myself first BASIC and then rapidly advancing to assembler on the ZX Spectrum as a teenager. Without that experience I shudder to think what I might have ended up doing for a living. And I too have been through the same dilemma with my kids. I haven't got far trying to enthuse them with the RPi - even when I got Minecraft running on it, they complained it was too slow... There was also the huge problem of choice. We had no choice - you learned the language of the system you had. For a couple of years I struggled to choose a language to introduce my son to. A friend of mine even bought an old BBC Micro so he could teach his kids the Old Ways! But perhaps I over-thought it. A year or so ago I made an arbitrary decision and showed my son how to run Python from the command line, and he picked it up pretty fast. But then he started complaining that he couldn't work on it when he was at school (such is their expectation of cloud ubiquity). Now he's just turned 14, and I've discovered he's developing a pretty ambitious text-based adventure game, still in Python, but using a cloud-based IDE (cannot recall the name). So whilst I admire the project - the more the better - I think to a certain degree the tools are already there and as long as they're given the seed of interest the kids will go out and find them for themselves.
- k__ 10y agoHaha, yeah, it's probably hard to get kids to "make" with tech these days instead of just "using" it. Because much stuff is already there and back in the 90's, when I was in my teens, things looked a bit different. But funny thing is, even in 2000 people in my school laughed at me for wanting to be a software developer. "Why do you want to create new software? Everything is already created! I can play games, I can download videos/music and watch it, I can talk to other people online, what else do would you create that isn't already there?!" What did we have since 2000? Facebook, Twitter, Smartphones, etc.
- 3chelon 10y agoI think it's important to teach kids that achievement takes serious effort, and that making a blob move around the screen is so much more important than reaching the top of the leaderboard in Call of Duty - which according to my son, many kids just don't get. I suppose it's a lack of imagination, combined with laziness, which has been reinforced by decades of "Make learning fun!" and "Science is easy!" slogans that the government education tzars love to produce.
- deleted 10y ago[deleted]
- pbhjpbhj 10y agoHis perception of the history of computing in UK schools differs to mine. It's not especially important, just seems a bit rose-tinted. Prior to ICT - meaning Information [and] Communication Technology - there's was IT. In IT we learnt to make teletext pages, use databases (choosing whether they should be computer ones or not), did DTP (eg newspaper layouts), learnt to type, made graphs, played text-driven games. There was no Computer Science at GCSE (perhaps it was a subject prior to that) and very few schools, none in my town, did it at 'A' level. I started programming at primary school age copying out of an intro book that came with an Acorn Electron. AFAIR there were no opportunities during my schooling to learn actual programming, I'd have lapped that up.
- saw-lau 10y agoThat's a real shame. Maybe it was up to individual schools how much they bought into it. I was amongst the last generation of people to take 'O' levels (ISTR that GCSEs came in two years after me?), and our school had computer science as both an 'O' and 'A' level option. Our little sixth-form BBC Micro lab (networked via 'Econet') was where us nerds and geeks hung out (although we didn't know we were nerds or geeks back then). After I left school for many years I just assumed that things had carried on as they were. It was only years later that I learnt about ICT and the damage (IMHO) it had caused. :-(
- Symbiote 10y agoI think everyone is correct here, but are mis-remembering the times. My dad was a teacher. He used computers to teach industrial design, graphic design etc in a well-funded school in the 1980s. (We have a photo of me using AutoCAD, age 4, on a 286...) In the very early 1990s he started teaching IT, but he certainly had no programming skills. Wikipedia says GCSEs were introduced in 1988, which would be the new curriculum the article refers to, with the first exams therefore in 1990. That's probably when the subjects he'd been teaching were removed from the curriculum, and teaching IT was the natural way for him to continue his career. I fiddled with BASIC on our Acorn Archimedes, but couldn't progress -- my dad didn't know anyone he could ask for guidance, yet he knew IT teachers in many other schools. I had one book, that had come with the computer, but was stuck for what to look at next, until a chance conversation some years later. > Maybe it was up to individual schools how much they bought into it. And on that point -- there was some flexibility within the IT/ICT curriculum. My dad could avoid teaching databases, and the other teacher at his school could avoid teaching bitmap or vector graphics. My school (different) could teach some very basic programming, making a model automatic door open and close or a lift go up and down. (The computer graphics work some of my dad's students did was brilliant, a couple even started very successful companies based on their ability. But it belonged in art lessons, not "computer" lessons.)
- ultim8k 10y agoThanks!!! Kudos man!
- headmelted 10y agoAnd thank you for the kudos!
- AdmiralAsshat 10y ago"For Chromebooks" is rather misleading. It would be better titled, "For ARM-based Linux distros". The setup installation includes the following: Download crouton. Create a chroot on the local device based on Ubuntu 14.04 (Trusty Tahr). Install Visual Studio Code into the chroot. Install git into the chroot. So it's not natively compiled for Chromebooks as a Chrome/Android app. Instead you're just installing crouton and then putting Ubuntu onto it. With all due respect to these guys, crouton has been around for some years[0]: I had it installed on my Samsung ARM Chromebook in 2012 and used it for coding. It's also worth noting that putting your Chromebook into Developer Mode will wipe the device, so if you decide to do this, make sure all your local files are backed up first. [0]: https://github.com/dnschneid/crouton https://github.com/dnschneid/crouton
- cryptrash 10y agoYeah, I use a Chromebook as my main browsing machine and I've been so disappointed with it's capabilities. For some reason, I thought Google would make some efforts to make the ChromeOS a tool for developers on-the-go, but they've just seemed to shit on the entire lineup except for the Pixel. Probably the last Google-backed device I'll buy.
- leppr 10y agoInstall a Linux distro on it?
- cryptrash 10y agoThat's what I use it for now. Thought I mentioned that, whoops. Yeah, I just run ubuntu on it.
- Touche 10y agoI don't know why you ever thought it was for developers. Clearly not having coreutils makes it a non-starter ad a development machine. ChromeOS was always about being a thin-client. A better kiosk OS, if you will. With that being said, I use Chrome OS for development. I have a DigitalOcean server that I SSH into using the excellent Secure Shell app, do all of my development there using tmux/vim and test in a browser tab. If you already like this workflow (some don't, I understand), then Chrome OS works very well for web development.
- cryptrash 10y agoWell thanks for that astroturfed testimonial!
- Touche 10y agoThanks for the assumption of malice.
- cryptrash 10y agoThat one was free, next time I'll bill ya
- dang 10y agoAccusing other users of astroturfing and shillage is not allowed on HN without evidence, and someone merely holding a different view is not evidence. So please don't do this here. We detached this subthread from https://news.ycombinator.com/item?id=12957989 https://news.ycombinator.com/item?id=12957989 and marked it off-topic.
- cryptrash 10y agodang, you must realize by now that you've almost singlehandedly ruined discourse on HN, right?
- riprowan 10y agoPeople that think that kids just want to learn how to use computers not build things with them have obviously never heard of a lego.
- TazeTSchnitzel 10y agoThe author says a lot of traditional software won't run on the Raspberry Pi, because it uses ARM. Maybe that's true for proprietary software. But the Pi can run any open-source project you throw at it. I used one as an (admittedly slow) development box for a while.
- BoringCode 10y agoNitpicking, but there is no inherent quality about "open-source" that makes software support the Pi.
- Abekkus 10y agoThat inherent quality is the ability to compile ARM binaries from that openly-available source code.
- TazeTSchnitzel 10y agoExactly. Because Debian is a collection of open-source software, it was able to be retargeted for ARMv6 and the Raspberry Pi, in the form of Raspbian. Some open-source software can't work on ARM, but it's in the minority. Code in high-level languages is generally not tied to a particular processor architecture.
- castratikron 10y agoI wrote a simple TCP server with Boost asio, maybe 100 lines, and turned on C++11. That file took about two minutes to compile on a Raspberry Pi.
- georgeecollins 10y agoThere is a moment in time when a technology is at a stage where individual amateurs or small teams can be on the cutting edge. For my Dad's generation that was homemade radios, for my generation homebrew PCs. Recently it seems like Drones and 3D printing have been at that stage where enthusiastic hobbyists pushed the technology forward. Maybe in twenty years people in this forum will be trying to think of a way to get their children excited about hacking drones or building phone apps.
- 3chelon 10y agoI can _so_ see that! They'll be developing iOS emulators that run in a VM inside a browser on your insect-sized cleaning drone.
- bitwize 10y agoBut... those platforms already have Emacs...
- andrey_utkin 10y agoJust lengthy article on why software should be portable. Just doesn't contain the word "portable". And also whole HN comments page doesn't contain the word "portable".
- Animats 10y agoThis is just some text editor called "Visual Studio Code", not Microsoft Visual Studio and its compilers, right? It doesn't include compilers, debuggers, or libraries, does it?
- amasad 10y agoI'm the founder of Repl.it (https://repl.it https://repl.it) and our aim is to make programming more accessible. In addition to being an easy-to-use online programming environment free for everyone, we are currently focusing on classroom environments (https://repl.it/classrooms https://repl.it/classrooms) for some of the reasons you mentioned. Many teachers come to our site because they find themselves in Classrooms where half of the students use Chromebooks which makes it really hard (impossible?) to install any native IDEs or compilers.