
Why we need the best tools on Chromebooks and Raspberry Pi - headmelted
https://headmelted.com/why-we-need-the-best-tools-on-chromebooks-and-raspberry-pi-3ab4c10a611c#.ac4iadzbl
======
3chelon
I'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.

~~~
david-given
There's RISC OS Pico. It's a cut-down version of RISC OS for the Raspberry Pi,
without the GUI layer. It boots straight into Basic.

[http://weblambdazero.blogspot.ch/2015/11/modern-micro-
with-r...](http://weblambdazero.blogspot.ch/2015/11/modern-micro-with-risc-os-
pico.html)

It looks like this, and anyone who grew up with the BBC Micro will instantly
recognise it:

    
    
        RISC OS 192MB
        ARM1176JZF-8 Processor
        Piccolo Systems SDFS
        ARM BBC BASIC VI (C) Acorn 1989
        Starting with 97040636 bytes free
        >_
    

That's also Acorn's structured Basic, with fast named procedures and multiline
control statements, so it's actually reasonable for writing real programs in.
It's pretty much COMAL. There's no structured types, unfortunately --- it's
still a 1980s language --- but you get still get instant feedback that a
traditional micro gave you (and the traditional Basic IDE experience, but I
believe they also include the full-screen editor).

~~~
3chelon
Interesting project, but I actually think BASIC is a retrograde step, even
with modern tweaks. Each to their own though... as I said in my original post,
it's the spark of interest that matters I think, and they can forge their own
path from there.

------
canuckintime
I'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

~~~
fredley
Last 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
This 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
How 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

~~~
hollander
I use Ubuntu 16.10 on a 2011/2012 i3 desktop, which was average by then, not
top of the bill. To me it seems like 16.04 is a lot slower than 14.04, and I
regret upgrading. Same with a Lenovo Flex laptop - it has only 2GB RAM. Since
16.04 it has performance problems. Running Firefox with Javascript is too
much, or two apps at the same time grinds it to a halt.

~~~
moyta
Does it have an SSD or spinning rust?

------
georgeecollins
There 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
I can _so_ see that! They'll be developing iOS emulators that run in a VM
inside a browser on your insect-sized cleaning drone.

------
AdmiralAsshat
"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)

~~~
headmelted
There were a couple of options for doing this in a way that may not have
required a chroot, but the bigger issue then is: how do you install Ruby? or
Python? or [whatever]?

I'd think it fairly necessary to have a full Linux environment (and ideally
good package support) underneath the IDE in order to actually work with the
editor. And it works quite well in practice due to the integrated terminal
that's running full Ubuntu (as you've said, due to the chroot).

The comment is fair, but I've tried to explain this as clearly as I can in
both the website and the installation script itself (there's a confirmation
explaining exactly what will be done and what that means, although I obviously
try to keep it as straightforward as I can without obscuring anything - at
least not intentionally).

The native part refers to the architecture. It executes natively on ARM,
rather than through some kind of emulation solution (like QEMU) that would
make it untenable in practice (I've been dogfooding the scripts with this for
some time while trying to polish the process).

The instructions also mention that you can just install into an existing
chroot as a standard apt-get install call for anyone that has one set up
already and knows what they're doing, although it should also work side-by-
side.

I'll review the website in light of your comments though, to see if there's
anywhere this can be made clearer!

~~~
glibgil
> but the bigger issue then is: how do you install Ruby? or Python? or
> [whatever]?

The answer should be pursued through Android. Apps for ChromeOS are officially
second class. Chrome the browser, a window manager and a basic file manager
seems to be all ChromeOS is ever going to get. The rest should be done through
Android to make your efforts future-proof

------
guitarbill
> 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.

~~~
yitchelle
I 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
Just 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.

------
pbhjpbhj
His 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
That'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
I 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.)

------
neals
I 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
The common Linux distributions targeting the RPi all come with a GUI
environment, at least as an option.

~~~
ivoras
Just 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.

------
fredley
The 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
I 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.

------
TazeTSchnitzel
The 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
Nitpicking, but there is no inherent quality about "open-source" that makes
software support the Pi.

~~~
Abekkus
That inherent quality is the ability to compile ARM binaries from that openly-
available source code.

~~~
TazeTSchnitzel
Exactly. 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.

------
Mike_D_Brooks
Not 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
That'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
Yeah, 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
Which 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
Fantastic 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
Hear 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
It's actually "hear hear". Excuse the off topic.

~~~
headmelted
I HEAR you. _badum tisch_

Edited, thanks. :-)

------
ktt
If 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
As 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
This actually uses Crouton to create the Ubuntu environment that Code is
installed into. ;-)

More details here: [https://code.headmelted.com](https://code.headmelted.com)

~~~
divbit
Btw - I totally just realized I have to teach my cousin (who only has a
chromebook) python this week. So thanks for this! I might try it out.

~~~
detaro
You should also know about
[https://www.pythonanywhere.com/](https://www.pythonanywhere.com/), which you
can use completely remote.

~~~
divbit
Perfect, although I guess it was more of 'an easy language to get him started'
than specifically python.

------
amasad
I'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.

~~~
sbd01
I'd just like to say a quick thanks for creating REPL.it. I don't personally
use it, but many of my classmates do and it's a very nice environment for
development within the browser.

~~~
amasad
Thank you! :)

------
andrey_utkin
Just 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".

------
rbanffy
What does the performance on ARM look like?

~~~
headmelted
On 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.) :-)

------
Animats
This 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?

------
castratikron
I 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.

------
riprowan
People that think that kids just want to learn how to use computers not build
things with them have obviously never heard of a lego.

------
bitwize
But... those platforms already have Emacs...

------
chaz6
In addition to deb and rpm packages, please consider providing an AppImage
download. Thanks!

~~~
headmelted
I 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.

------
ultim8k
Thanks!!! Kudos man!

~~~
headmelted
And thank _you_ for the kudos!

------
kleigenfreude
This 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...](https://www.cta.tech/News/Blog/Articles/2015/July/How-Mobile-
Phones-Are-Changing-the-Developing-Worl.aspx) 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.

~~~
loup-vaillant
> _This 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._

This would further the centralization of the internet, which is a disaster
waiting to happen. It's easier, it's cheaper, but it's also wrong.

We must teach people to take control of their computing power. This means
giving them a personal computer they can control. They need enough computing
power (low-end phones and the R-pi are more than enough), a decent I/O setup
(screen and keyboard, mostly).

You also want to avoid proprietary software. I won't object too loudly about
adults and companies using proprietary products, but when it comes to
children, I have to go full RMS: proprietary software is wrong, teaching it is
evil. In some cases (MS-Word vs LibreOffice), we really have no excuse.

 _(An ubiquitous counter-argument is, not knowing MS-Word makes it harder to
find a job. This ultimately does not matter, because "proper" training will
cause _other* people to be unemployed. To reduce unemployment, we have to
either create more jobs or share what we have (4 days work-weeks come to
mind). Of course, since computing is mainly about destroying menial work,
don't get your hopes up about job creation.) _

~~~
digi_owl
Sadly most people don't want to, as they are mentally exhausted after pulling
triple shifts and whatsnot to keep food on the table. They just want to vege
out, with the web being the new cable TV.

~~~
loup-vaillant
Of course. Basic needs first. Let's start with a 4 days work-week, so people
have time to breathe and think. (You can keep the same net salary, because if
done in the whole country, this mechanically reduces unemployment and related
insurances).

------
cryptrash
Well thanks for that astroturfed testimonial!

~~~
dang
Accusing 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.

------
gcb0
the 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.

~~~
skybrian
The 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
my phones have a keyboard, when i want.

