

The Raspberry Pi Will Bring Fun To Computers Again - nathanpc
http://www.dreamintech.net/2012/01/the-raspberry-pi-will-bring-fun-to-computers-again/

======
cbs
_when you felt like you had power over the machine and today you’re just part
of a mainstream movement_

This is something thats been scratching around in the my brain for a while and
has driven me away from software. To me, software used to represent infinite
possibilities, this blob of clay that you could sculpt into anything you
wanted it to be. These days software is quick to slap your hand away when you
get too close to messing with the fiddly bits.

I'm a bit more jaded than this poster, but I don't think the Pi will be able
to bring the lost world back to us. Tinkering isn't what it used to be in
general. Instead of popping down a product and an accompanying RFC that allows
anyone to write other software to interacts with it, creators want you in
their playground, doing operation they approve or nowhere near the tech at
all. They're not just tight-lipped, I even see encryption to keep the tinkerer
out.

My brother is a snowmobile gearhead. He used to machine a piece of metal that
went somewhere in the engine. I don't really pay attention to that stuff to
know the full details, but essentially modifying that piece of metal would
tune something in the engine. Whatever that piece of metal controlled has now
been replaced by a computer chip. It is an awesome idea, with amazing
possibilities. He could set up his machine on the dyno and just sit there
adjusting variables to tune and get exactly the performance he wants.
Iterations between adjusting and testing is infinitely faster because he
doesn't need to go do metalwork.

But thats not the way it works. He can't change the values on the chip. It has
gotten orders of magnitude less work to modify, but he is physically unable
to. He can bring his sled to the Bombardier dealership where there, and only
there, can he tune the sled. He can't tweak values to find maximum
performance. He can choose from Configuration A, Configuration B and
Configuration C.

This is where software is taking the world my friends. It is why I don't
tinker anymore.

~~~
bitwize
Sounds like the camshaft in a mechanically-timed ignition system. Those went
by the wayside with the advent of fuel injection.

There's like a whole modder community around custom fuel-injection controllers
with reflashable firmware. Serious performance wonks replace the entire board
-- CPU, memory, everything except for the output lines -- to the fuel injector
with something they can order online. The new board has like a flash memory
chip that lets you sit there with a PC and tweak variables until the engine
has the performance characteristics you want.

I was approached about the feasibility of writing an Android app so these
people can do the tweaks with their smartphones.

There's still tinkering going on.

~~~
joezydeco
But that's the point cbs made.

The learning curve has become a bit too steep with today's modern SoC systems.
You can't just wire a transistor to a parallel port and call PRINT LPT(0),128
or whatever the hell the call was. You need to write a program to call a
userspace driver, or modify your kernel, or whatever else you need to enable
in the platform.c file to enable the port to raise the GPIO to blah blah blah
I quit.

So now his brother, if he wants to tweak a setting on his ECM, needs to
understand how to hack into the module without bricking it. Then he needs the
correct tools to create the new engine profile and burn it in. There's
probably a hardware dongle or two involved. Does that make sense?

------
blhack
I...don't know about that.

It's a computer, cool, but I think that most of the people who are looking for
"fun" in computers are already finding it in things like the Arduino.

Something I _will_ hope for is that this disrupts some hobbyist economics.
Things like the IOIO board from sparkfun (plugs into android, gives you 50
GPIO pins) are still really expensive ($50).

The arduino is too...$30 for a board that doesn't have wifi or any way of
connecting to a network without an external card (shield).

The real holy grail of this stuff will be an arduino or a raspi with a wifi
chip in it that costs $30 or less.

These little computers are all good, but when you have to tether them to
something or buy an expensive add on to make them see the rest of the world,
it kindof ruins the form factor for me.

~~~
creativeembassy
But I think this is the hope that everyone has for the Raspberry Pi. It has
network connectivity, it's easy to program (HDMI port for audio and video, USB
for keyboard and mouse), and (so far) it's easily expandable. I'm watching the
GPIO video on their blog right now (<http://www.raspberrypi.org/archives/500>)
and I can't wait until I can drop my Arduino set up and start programming in
one of my preferred scripted (ruby) or functional (clojure) languages. I think
it will make computers fun again.

~~~
lgeek
I've tried something like that in the past - I've used ruby on Linux to
program a robot, with I/O piped through an Arduino. It was _painful_. I've ran
into lots of timing issues. The whole thing was incredibly unpredictable.
Disabling the garbage collector improved things a little, but it's still
annoying when your robot falls down because a cron job started.

An RTOS is much more suitable if timing matters, and a language with a more
predictable runtime helps as well.

~~~
bitwize
force a gc every time through the main sense-and-actuate loop of your control
program

it's a trick used by lisp game programmers -- there are a few games floating
around the app store written in gambit scheme and they all do this to avoid gc
pauses

also why tf are you running cron jobs on your robot's computer?

where i work we deploy linux robots all the time, we control the software
loadout so shit like this doesn't happen

~~~
lgeek
I should have started with a disclaimer: this was 3 years ago and I don't
perfectly remember all the details. It was a system cron job, not one added by
me. I think it was logrotate. I've removed it, but finding out what was
happening wasn't that easy. Which was my point, with the whole thing being so
unpredictable, debugging the system sucked.

~~~
bitwize
Linux is hella predictable -- darned near real time -- if all it runs is your
stack and especially if you set the process priority high enough.

Next time start with a minimal system and build up, rather than starting with
a fully-loaded system and trying to isolate and remove which of over 9000
processes kicked in to plage you with that slowdown.

PROTIP: /sbin/init can be whatever the hell you want. Symlink it to
/usr/bin/emacs and you have a poor man's Lisp machine.

Oh, and uhh -- turn off swap.

One of the reasons why I left Debian was that it takes a very kitchen-sink-
included approach to a base system -- including, as I found out the hard way,
things with unpleasant exploitable vulnerabilities. And it's hard for a person
of ordinary Unix skills, not versed in Debian arcana, to pare it back to a
manageable state.

I'm an Arch man to this day for this reason.

------
nathanpc
Sorry for the down time. My server is back up, I did a reboot because Apache
was out of memory. Thanks very much for your patience :)

~~~
jcromartie
Looks like it's still struggling.

~~~
nathanpc
Yeah, it went down again so I'm doing some RAM upgrade which might take 5 to 8
minutes. Sorry.

~~~
ChuckMcM
Ah, the HN effect at its worst.

