Monday, December 28, 2015

C.H.I.P. First Impressions

Warning:  This review is not suitable for family viewing in some places.

Well, here's my first impressions of the C.H.I.P. $9 computer from Next Thing Company.

Executive summary:  The thing is a $9 piece of chit...chip.

Technical details:

The C.H.I.P. comes in a brown box with a composite cable.  No docs, but for $9 I didn't expect docs.  Hey, it's a little single-board computer.  I know how to use a computer (and make it do "Computer Things")!

My C.H.I.P. was ordered with just the composite video cable, and the only thing I have with a composite video input these days is my TV.  No problem here, just the TV, my 2 amp Raspberry Pi power supply, and a wireless USB keyboard, and we're good to go.

The thing booted up fine the first time into Linux.

The display parameters for composite video (aka TV) made it impossible to see the "CANCEL/OK" buttons at the bottom of the network configuration screen, because the windowing environment was designed for a higher resolution display.  So clearly, the UI was never tested with the composite video output.  I've never been a big fan of GNOME and its interface for just this reason.  If you're going to be so snobbish as to build an interface that doesn't fit a lower resolution display and not even allow users to resize the forms if they don't fit, then you're not fit to be a UI designer.  I discovered the buttons after clicking around the screen and somehow forcing the top of the form to go off the top of the screen, revealing the buttons.  I was able to backwards-tab to the hidden OK button in subsequent screens.

It took me several tries to get the WiFi going, because my passphrase is a long string of random characters, and the network management interface would clear out my passphrase if I typed it wrong and it didn't work on the first try.  Another (said with sarcasm) user-friendly UI experience.  Who designs this garbage?  You know, I never seemed to have this kind of problem when I could open a file with a plain old text editor and change the configuration.

Anyway, I got that set-up finally, and was able to ssh into the computer (I was able to guess the password for the default user on the machine - username and password are both chip.

I got things going and set-up a few changes on my network (DHCP and DNS configuration) so I'd have a static IP address for the C.H.I.P. on the next reboot.

Then I did a "shutdown -r now" as I would normally do after this, and waited for the C.H.I.P. to reboot.

Nothing.  The TV screen went dark.  It stayed dark.  I pulled out the power cord and plugged it back in.  Still nothing.  F**k.

So I turned to the Internet.  I dropped by the Next Thing Company's forums, and the first thing that catches my eye is a topic with the subject "C.H.I.P. dead after 30 minutes".  Look at the topic, and low and behold, there's a couple of people with the exact same problem I had.  Amazing.

Apparently the fix suggested is to reflash the board.  To do so, you need to install VirtualBox (no problem) and grab the entire development environment from github using a utility called vagrant.  This requires a whole bunch of friggin Ruby modules to be installed.  Then to put the board into reflash mode, you short a bunch of pins on the connector, collect the hair of newt, pray to the gods for rain, and do some other incantations that made me roll my eyes and stop reading.  Seriously?  After about 45 minutes I end up with a bricked unit for no other reason than to boot and configure the damn thing...and the only way to resurrect it is to install a whole development environment?  I have now seen what a $9 computer looks like, and I don't like it very much.

I just got done playing with the Raspberry Pi 2 (2B to be exact).  It's a lot less polished than the C.H.I.P., and I expected that.  I don't do "computer things" with a Raspberry Pi.  I hook things to it and make it do l33t h4x0r things with that stuff.  The Raspberry Pi didn't fail to boot after screwing around with its configuration.  Although it did use NetworkManager (a hunk of shit, just like systemd), the unit actually did the right thing.  Of course, if I did screw-up the MicroSD card, I could just reflash THAT and we'd be rolling again.  I expected that the C.H.I.P. would just work and do "computer things" as the creators intended.  I wanted to see it do spreadsheets, and web browsing, and terminals and all that stuff, just like in their video.  I know Linux, and I figured it would run Linux nicely.  Nope.

So my first impressions are not good.  Not good at all.  I now know why the average person finds Linux to be a pain in the ass.  Because as it has evolved, it is a pain in the ass.  Yes, I know how tempting it is to make a fine OS like Linux act like Windows, but all the people who fucked around with desktop environments and automagic shit did was fuck-up Linux.  Pardon my French.  I know that's not Next Thing Company's fault, exactly, but they basically adopted the UI as distributed, without any kind of feedback.  The hardware itself looks interesting -- amazing, actually.  A little tiny ARM-based single-board computer (SBC) that runs Linux and does lots of cool stuff.  But it didn't do it for long.  And they didn't give anyone a way to plug-in a USB flash drive to reflash the damn thing when something went horribly wrong.  No, instead, you use your real computer that does real computer things and actually works, install an entire development environment, know.

So when I don't feel like watching my blood pressure increase to an uncomfortably high level and wrestle with this thing, I'll try to unbrick it.  Until then, the C.H.I.P. will stay in its little brown box waiting.  Waiting to be reflashed.

No comments: