Shallow Thoughts : : Oct
Akkana's Musings on Open Source Computing and Technology, Science, and Nature.
Mon, 31 Oct 2011
My new netbook (about which, more later) has a trackpad with
areas set aside for both vertical and horizontal scrolling.
Vertical scrolling worked out of the box on Squeeze without needing
any extra fiddling. My old Vaio had that too, and I loved it.
Horizontal scrolling took some extra research.
I was able to turn it on with a command:
synclient HorizEdgeScroll=1
(thank you,
AbsolutelyTech).
Then it worked fine, for the duration of that session.
But it took a lot more searching to find out the right place to set
it permanently. Nearly every page you find on trackpad settings tells
you to edit /etc/X11/xorg.conf. Distros haven't normally
used xorg.conf in over three years! Sure, you can generate
one, then edit it -- but surely there's a better way.
And there is. At least in Debian Squeeze and Ubuntu Natty, you can edit
/usr/share/X11/xorg.conf.d/50-synaptics.conf
and add this options line inside the "InputClass" section:
options "HorizEdgeScroll" "1"
Don't forget the quotes, or X won't even start.
In theory, you can use this for any of the Synaptics driver options --
tap rate and sensitivity, even multitouch. Your mileage may vary --
horizontal scroll is the only one I've tested so far. But at least
it's easier than generating and maintaining an xorg.conf file!
Tags: linux, X11, laptop
[
16:20 Oct 31, 2011
More linux/laptop |
permalink to this entry |
]
Fri, 28 Oct 2011
I wrote a few days ago about my
multi-distro
Linux live USB stick. Very handy!
But one thing that bugs me about live distros:
they're set up with default settings and don't
have a lot of the programs I want to use. Even getting a terminal
takes quite a lot of clicks on most distros. If only they would save
their settings!
It's possible to make a live USB stick "persistent", but not much is
written about it. Most of what's written tells you to create the USB
stick with usb-creator -- a GUI app that I've tried periodically for
the past two years without ever once succeeding in creating a bootable
USB stick.
Even if usb-creator did work, it wouldn't work with a multi-boot
stick like this one, because it would want to overwrite the whole drive.
So how does persistence really work? What is usb-creator doing, anyway?
How persistence works: Casper
The best howto I've found on Ubuntu persistence is
LiveCD
Persistence. But it's long and you have to wade through a lot of
fdisk commands and similar arcana. So here's how to take your
multi-distro stick and make at least one of the installs persistent.
Ubuntu persistence uses a package called casper which overlays
the live filesystem with the contents of another filesystem.
Figuring out where it looks for that filesystem is the key.
Casper looks for its persistent storage in two possible places: a
partition with the label "casper-rw", and a file named
"casper-rw" at the root of its mounted partitions.
So you could make a separate partition labeled "casper-rw", using your
favorite partitioning tool, such as gparted or fdisk. But if you already
have your multi-distro stick set up as one big partition, it's just as
easy to create a file. You'll have to decide how big to make the file,
based on the size of your USB stick.
I'm using a 4G stick, and I chose 512M for my persistent partition:
$ dd if=/dev/zero of=/path/to/casper-rw bs=1M count=512
Be patient: this step takes a while.
Next, create a filesystem inside that file. I'm not sure what the
tradeoffs are among various filesystem types -- no filesystem is
optimized for being run as a loopback file read from a vfat USB stick
that was also the boot device. So I flipped a coin and used ext3:
$ mkfs.ext3 /path/to/casper-rw
/path/to/casper-rw is not a block special device.
Proceed anyway? (y,n) y
One more step: you need to add the persistent flag to your boot
options. If you're following the multi-distro USB stick tutorial I
linked to earlier, that means you should edit boot/grub/grub.cfg on
the USB stick, find the boot stanza you're using for Ubuntu, and make
the line starting with linux look something like this:
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash noprompt persistent --
Now write the stick, unmount it, and try booting your live install.
Testing: did it work?
The LiveCD/Persistence page says persistent settings aren't
necessarily saved for the default "ubuntu" user, so it's a good idea
to make a new user. I did so.
Oops -- about that Ubuntu new user thing
But at least in Ubuntu Oneiric: there's a problem with that. If you
create a user, even as class Administrator (and of course you do want
to be an Administrator), it doesn't ask you for a password. If you
now log out or reboot, your new user should be saved -- but you won't
be able to do anything with the system, because anything that requires
sudo will prompt you for your nonexistent password. Even attempting to
set a password will prompt you for the nonexistent password.
Apparently you can "unlock" the user at the time you create it, and
then maybe it'll let you set a password. I didn't know this beforehand,
so here's how to set a password on a locked user from a terminal:
$ sudo passwd username
For some reason, sudo will let you do this without prompting for a
password, even though you can't do anything administrative through the GUI.
Testing redux
Once you're logged in as your new user, try making some changes.
Add and remove some items from the unity taskbar. Install a couple
of packages. Change the background.
Now try rebooting. If your casper-rw file worked, it should remember your
changes.
When you're not booted from your live USB stick, you can poke around
in the filesystem it uses by mounting it in "loopback" mode.
Plug the stick into a running Linux machine, mount it the usb stick,
then mount it with
$ sudo mount -o loop /path/to/casper-rw /mnt
/path/to is wherever you mounted your usb stick -- e.g. /media/whatever.
With the file mounted in loopback mode,
you should be able to adjust settings or add new files without
needing to boot the live install -- and they should show up the
next time you use the live install.
My live Ubuntu Oneiric install is so much more fun to use now!
Tags: ubuntu, linux, install, grub
[
15:41 Oct 28, 2011
More linux/install |
permalink to this entry |
]
Tue, 25 Oct 2011
Linux live USB sticks (flash drivers) are awesome. You can carry them
anywhere and give a demo of Linux on anyone's computer, any time. But
how do you keep track of them? Especially since USB sticks don't have
any place to write a label. How do you remember that the shiny blue
stick is the one with Ubuntu Oneiric, the black one has Ubuntu Lucid,
the other blue one that's missing its top is Debian ... and so forth.
It's impossible! Plus, such a waste -- you can hardly buy a flash drive
smaller than 4G these days, and then you go and devote it to a 700Mb
ISO designed to fit on a CD. Silly.
The answer: get one big USB stick and put lots of distros on it,
using grub to let you choose at boot time.
To create my stick, I followed the easy instructions at
HOWTO:
Booting LiveCD ISOs from USB flash drive with Grub2.
I found that tutorial quite simple, so I'm not going to duplicate
the instructions there.
I used the non-LUA version, since my grub on Ubuntu Natty didn't seem
to support LUA.
Basically you run grub-install to the stick,
create a directory called iso where you stick all your ISO files,
then create a grub.cfg with magic incantations to boot each ISO.
Ah, wait ... magic incantations?
The tutorial is missing one important part: what if you want to use an ISO
that isn't already mentioned in the tutorial? If Ubuntu's entry is
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash noprompt --
and Parted Magic's is
linux (loop)/pmagic/bzImage iso_filename=$isofile edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rwnomce sleep=10 loglevel=0
then you know there's some magic going on there.
I knew I needed at least the Ubuntu "alternate installer", since it
allows installing a command-line system without the Unity desktop, and
Debian Squeeze, since that's currently the most power-efficient Linux
for laptops, in addition to the distros mentioned in the tutorial.
How do you figure out what to put in those grub.cfg lines?
Here's how to figure it out from the ISO file. I'll use the Debian Squeeze
ISO as an example.
Step 1: mount the ISO file.
$ sudo mount -o loop /pix/boot/isos/debian-6.0.0-i386-netinst.iso /mnt
Step 2: find the kernel
$ ls /mnt/*/vmlinuz /mnt/*/bzImage
/mnt/install.386/vmlinuz
Step 3: find the initrd. It might have various names, and might or
might not be compressed, but the name will almost always start with init.
$ ls /mnt/*/vmlinuz /mnt/*/init*
/mnt/install.386/initrd.gz
Unmount the ISO file.
$ umount /mnt
The trick in steps 2 and 3 is that nearly all live ISO images put the
kernel and initrd a single directory below the root. If you're using
an ISO that doesn't, you may have to search more deeply (try /mnt/*/*).
In the case of Debian Squeeze, now I have the two filenames:
/install.386/vmlinuz and /install.386/initrd.gz. (I've removed the
/mnt part since that won't be there when I'm booting from the USB stick.)
Now I can edit boot/grub/grub.cfg and make a boot stanza for Debian:
menuentry "Debian Squeeze" {
set isofile="/boot/isos/debian-6.0.0-i386-netinst.iso"
loopback loop $isofile
linux (loop)/install.386/vmlinuz iso_filename=$isofile quiet splash noprompt --
initrd (loop)/install.386/initrd.gz
}
Here's the entry for the Ubuntu alternate installer:
menuentry "Oneiric 11.10 alternate" {
set isofile="/boot/isos/ubuntu-11.10-alternate-i386.iso"
loopback loop $isofile
linux (loop)/install/vmlinuz iso_filename=$isofile
initrd (loop)/install/initrd.gz
}
It sounds a little convoluted, I know -- but you only have to do it
once, and then you have this amazing keychain drive with every Linux
distro on it you can think of.
Amaze your friends!
Tags: linux, install, ubuntu, debian, grub
[
22:21 Oct 25, 2011
More linux/install |
permalink to this entry |
]
Sat, 22 Oct 2011
While we were having dinner, one of the local squirrels came by to look
for her own dinner under the cedar in the front yard, just outside the
window by our dining table.
I remember, when I was young, reading somewhere that squirrels
remember where they bury each nut, so they can return and dig it up
later. Whoever wrote that clearly never spent much time watching
actual squirrels.
I've also read, more recently and in more reputable places, that
squirrels find buried nuts by seeking out likely burial spots then using
their sensitive noses to find the underground nuts.
If so, the sensitive nose thing is overrated. It's actually quite a
bit more work than that description makes it sound.
If you're ever hungry and wanting to dig up a snack from underground,
here's the tried and true, time tested squirrel technique:
Hop over to a place that looks likely.
Bury your nose in the ground, and plow a furrow with said nose
for a few inches.
No nut? Pull your nose out of the ground, hope over to another location
that looks appealing (not one right next to where you just were --
do not by any means use any kind of exhaustive quartering technique),
bury your nose in the ground and repeat.
Every fifth or sixth time, it's permissable to sit up and brush dirt
off your nose before going back to the hunt.
After about twenty minutes of this, our visitor finally did
find something. She triumphantly sat up, brushed herself off, turned
the prize around in her mouth for a while, then ran over to the cedar
to hang upside down for dinner.
Curiously, what she found looked like a live oak acorn -- not
something that's very common here in the suburbs. (Our yard sports
a red oak, but it has tiny acorns which don't interest the squirrels
in the slightest.)
She took five minutes to eat her prize, then returned to the hunt for
another forty minutes. If she found anything else during that time,
I didn't see it, though she might have found something while she was
on the other side of the tree.
Note that I didn't say this was an efficient technique ...
only that it was time tested.
Tags: nature, squirrels
[
19:07 Oct 22, 2011
More nature/squirrels |
permalink to this entry |
]
Sun, 16 Oct 2011
Debugging Arduino sensors can sometimes be tricky.
While working on my Arduino sonar
project, I found myself wanting to know what values
the Arduino was reading from its analog port.
It's easy enough to print from the Arduino to its USB-serial line.
First add some code like this in setup():
Serial.begin(9600);
Then in loop(), if you just read the value "val":
Serial.println(val);
Serial output from Python
That's all straightforward --
but then you need something that reads it on the PC side.
When you're using the Arduino Java development environment, you can
set it up to display serial output in a few lines at the bottom of
the window. But it's not terrifically easy to read there, and I
don't want to be tied to the Java IDE -- I'm much happier doing my
Arduino
development from the command line. But then how do you read serial
output when you're debugging?
In general, you can use the screen program to talk to serial
ports -- it's the tool of choice to log in to plug computers.
For the Arduino, you can do something like this:
screen /dev/ttyUSB0 9600
But I found that a bit fiddly for various reasons. And I discovered
that it's easy to write something like this in Python, using
the serial
module.
You can start with something as simple as this:
import serial
ser = serial.Serial("/dev/ttyUSB0", 9600)
while True:
print ser.readline()
Serial input as well as output
That worked great for debugging purposes.
But I had another project (which I will write up separately)
where I needed to be able to send commands to the Arduino as well
as reading output it printed. How do you do both at once?
With the select module, you can monitor several file descriptors
at once. If the user has typed something, send it over the serial line
to the Arduino; if the Arduino has printed something, read it and
display it for the user to see.
That loop looks like this:
while True :
# Check whether the user has typed anything (timeout of .2 sec):
inp, outp, err = select.select([sys.stdin, self.ser], [], [], .2)
# If the user has typed anything, send it to the Arduino:
if sys.stdin in inp :
line = sys.stdin.readline()
self.ser.write(line)
# If the Arduino has printed anything, display it:
if self.ser in inp :
line = self.ser.readline().strip()
print "Arduino:", line
Add in a loop to find the right serial port (the Arduino doesn't always
show up on /dev/ttyUSB0) and a little error and exception handling,
and I had a useful script that met all my Arduino communication needs:
ardmonitor.
Tags: arduino, hardware, programming, python, maker
[
20:27 Oct 16, 2011
More hardware |
permalink to this entry |
]
Sun, 09 Oct 2011
A group of us were commiserating about that widely-reviled
feature, Google Instant. That's the thing that refreshes your Google
search page while you're still typing, so you always feel like you
have to type reallyreallyfasttofinishyourquerybeforeitupdates.
Google lets you turn off Instant -- but only if you let them set and
remember your cookies, meaning they can also track you across the web.
Isn't there a more privacy-preserving way to get a simple Google
page that doesn't constantly change as you change your search query?
Disable Instant
It turns out there is. Just add complete=0
to your search
queries.
How do you do that? Well, in Firefox, I search in the normal URL bar.
No need for a separate search field taking up space in the browser window;
any time you type multiple terms (or a space followed by a single term)
in Firefox's URLbar, it appends your terms to whatever you have set as
the keyword.URL preference.
So go to about:config and search for keyword, then double-click on
keyword.URL and make sure it's something like
"http://www.google.com/search?complete=0&q=".
Or if you want to make sure it won't be overridden,
find your
Firefox profile, edit user.js (create it if you don't have one
already), and add a line like:
user_pref("keyword.URL", "http://www.google.com/search?complete=0&q=");
Show only pages matching the search terms
I use a slightly longer query, myself:
user_pref("keyword.URL", "http://www.google.com/search?complete=0&q=allintext%3A+"
Adding allintext: as the first word in any search query tells
Google not to show pages that don't have the search terms as part of
the page. You might think this would be the default ... but The Google
Works in Mysterious Ways and it is Not Ours to Question.
Disable Instant Previews
Finally, just recently Google has changed their search page again to
add a bunch of crap down the right side of the page which, if you
accidentally mouse on it, loads a miniature preview of the page over on
your sidebar. You have to be very careful with your mouse not to have
stuff you might not be interested in popping up all the time.
A moment's work with Firebug gave me the CSS classes I needed to hide.
Edit chrome/userContent.css in your Firefox profile (create it
if you don't already have one) and add this rule:
/* Turn off the "instant preview" annoying buttons in google search results */
.vspib, .vspii { display: none !important; }
Really, it's a darn shame that Google has gone from its origins as a
clean, simple website to something like Facebook with things popping
up all over that users have to bend over backward to disable.
But that seems to be the way of the web.
Good thing browsers are configurable!
Tags: firefox, mozilla, web, google, annoyances, user interface
[
22:31 Oct 09, 2011
More tech/web |
permalink to this entry |
]
Sun, 02 Oct 2011
A recent Jon Carroll column
got me thinking about Making and Fixing.
This was the passage that got me started:
... I took it to Dave up at the repair place. "You need a new
battery," he said. Looked like a fine battery to me, but what do I
know? I had a second opinion from the guy who wanted to sell me a
battery. What could go wrong?
I brooded about this on the way. I realized how much we are at the
mercy of the repair people in our lives, and how much we do not know
about, well, most things.
At their mercy
That took me back. I grew up with the idea that mechanical things
like cars were a little scary, something one doesn't really muck with.
This despite the many happy afternons I spent building little
balsa-wood gliders with my father. Later, I learned a little
electronics, and built little things like a switchbox so my mom could
switch between cable and VCR without unplugging anything.
But knowing I could handle an X-Acto knife and soldering iron somehow
didn't translate to the notion that I could work on anything as
scarily mechanical as a car or a home appliance.
When I was just getting out on my own, my car -- a 200SX turbo, my
pride and joy -- developed a terrible ticking sound. When I got on the
gas hard, it would make this loud tick tick tick tickticktick.
I took it to the mechanic. He listened to the noise and said "Lady,
it's your turbo." He said it needed replacement.
I was pretty sure that wasn't right. I had read the turbo spun at something
like 100,000 RPM. This sound was more like -- I don't know, a few
ticks a second, maybe a few hundred RPM? Shouldn't something spinning
at a hundred thousand RPM (let's see, that's ... divide by 60 ... 1667 Hz),
shouldn't that make a sort of a whine, not ticks?
I asked the mechanic that. He shook his head. "Lady, it's your turbo.
You have to replace it."
I was pretty sure I was being lied to. But what could I do?
As Jon Carroll says, "we are at the mercy of the repair people in our lives."
I arranged for a replacement. The warranty covered part of it; I still had
to pay quite a bit.
And when it was over, the tick-tick-ticking noise was still there.
I'd been right -- the noise wasn't coming from the turbo.
Somehow that didn't make me feel better.
Becoming Kaylee
I saw a movie some time around then -- some awful movie involving
motorcycles, I forget the details -- that had a character I liked.
You've probably seen the archetype -- she's been in other movies.
You know, the girl-mechanic with the grease smudge on one cheek and the
bright eyes. Think Kaylee from Firefly, only this was long before Firefly.
I wanted to be that girl -- the one who never had to put up with
mechanics lying to her, the one who'd never get stuck somewhere.
She had control over her life. She understood the machines.
But how do you even get started learning something like that?
All the guys I knew who knew how to work on cars had grown up in a
culture where they learned it from their father or brothers.
I set a goal: I'd do my own oil change. I found instructions somewhere.
I bought a crescent wrench -- one of those adjustable things --
and an oil pan to catch the oil, and a new filter.
I lay down in the dirt and slid under the car and got the wrench on the
bolt and ... it kept sliding off. I couldn't get the bolt loose,
and I was rounding off the corners so maybe no one could ever get
it loose. Oh no! The instructions didn't say what to do if that happened.
I got in the car, drove to the local mechanics' shop (not the same one
that had lied to me about the turbo) and threw myself on their mercy.
I said I'd be happy to pay whatever an oil change cost, but I didn't
want them to do it -- just please show me how to get the bolt loose.
They were super nice about it. They broke it loose (they said whoever
did it last way over-tightened it). They took a look at my crescent
wrench and told me never to use it again -- that I should stop at Napa
on the way home and buy a 14mm box-end wrench. I don't think they even
charged me anything.
Back at home, armed with my new 14mm wrench, I got the drain plug off,
and the rest of the oil change went smoothly. I changed the filter and
put the new oil in and closed up. My hands were shaking as I drove off --
surely all the oil was going to fall out right away, trashing my
engine forever. But it didn't.
When I got back, one of my housemates was home. He said "You look adorable."
Apparently I had that grease smudge on my cheek -- you know, just like
the girl mechanic in the movie. Maybe there was hope!
And you know what? Once I knew how to do an oil change, I found it took less
time to do it myself than it did to drive to the shop, drop off the
car, arrange a ride home, and all the other hassle associated with
having someone else do it.
Beyond oil changes
Doing my own oil change boosted my confidence incredibly. But I wanted
to learn more. I wanted to be able to fix things when they broke down.
It was around this time that I took up autocross racing. Of course,
a lot of the guys at the autocrosses were great mechanics. I started
asking them questions, picking their brains.
My car still made that tick-tick-tick sound -- I'd pretty much learned
to live with it since it seemed to be this mysterious thing no one
knew how to fix. I asked one of my autocrosser friends.
He said "Yeah, I've noticed you have an exhaust leak. You
should fix that" He said it like, duh, doesn't everybody recognize the
sound of an exhaust leak when they hear it?
What's an exhaust leak? How would I fix it? Turns out it means the gasket
between the exhaust manifold and the head is bad. You have to unbolt
the manifold and pull it back so you can slip a new gasket in. (He showed
me what all those things were so I'd know what he was talking about.)
Normally that would be pretty easy, but on a turbo car it meant
disconnecting all the turbo plumbing and moving the turbo out of the
way. Eesh!
Another autocrosser, an expert mechanic, offered to help.
We did the job. It turned out to be harder than expected.
Seems that previous mechanics, probably the nim-nuts who replaced the
turbo, had messed up the threads in the aluminum head -- and instead
of fixing it right, they'd just taken a stud with different threads
and jammed it in. I learned all about taps, and Heli-coils, and
other techniques that weren't part of the original plan.
And the noise went away. We fixed it right. Not like the shop
that was only interested in screwing another ignorant customer out of
whatever they could get.
Books
I still wanted to learn more, and not be so dependent on helpful guys.
I looked around for books.
Shop manuals and Haynes and Chilton and Clymer manuals all assume you're
already pretty comfortable working on cars. I needed something that
explained things.
I'd been kicking around the idea of getting a car just for autocross --
some older, simpler car that would be easy to learn on. One option
I was considering was a Scirocco, and that put me on to Poor
Richard's Rabbit Book: How to Keep Your VW Rabbit/Scirocco Alive.
It was fabulous. It explained everything from the beginning -- what the
various parts do, how to find them in a Rabbit/Scirocco -- but it was
clear enough that it worked for any car, not just a VW. I inhaled that
book. It was my bible for years, even after I gave up on the Scirocco
idea. I chose a Fiat X1/9 instead.
Colibri
Everyone knows Fiat's reputation. The joke is that it stands for "Fix
It Again, Tony" (though I always preferred "Fix It Alla Time").
A Fiat would surely force me to learn, fast.
My new baby, Colibri (Italian for "hummingbird") was a mess of a car.
It had been in several accidents. Just about everything needed some
amount of work. It was perfect. I loved it.
My first big job was a brake job in the parking lot of a San Diego Pep Boys,
Poor Richard's and the Haynes manual in hand, the store handy
so I could go in and buy tools I discovered I needed, a pay phone
nearby so I could make long-distance calls to my boyfriend when I hit snags.
(We were in the process of moving, but the brake job couldn't wait
until he was there in person -- and besides, I wanted to learn how to
do things myself!)
I was there for hours, and used the pay phone several times. But I emerged
triumphant -- covered in grime, but with brakes that worked great.
Over the next few years of driving and racing Fiats, I learned how to
re-jet a carburetor (and how to do it really fast when a bit of
fluff from your sketchy aftermarket performance air filter clogs a
carburetor jet when you're stuck in traffic on 101 and the car
suddenly isn't getting any power from the primary). I got good at
replacing the alternator,
doing alignments,
working on suspension; I replaced the exhaust system a few times,
and eventually the head.
We don't have to be at the mercy of the repair people in our lives.
Fixing and Making
And that brings me to the Maker movement -- because fixing things,
very often, is making,
and that's something I hadn't realized at first.
I remember watching my master mechanic boyfriend (the one who'd helped
me with the 200SX) faced with
the problem of a pop-up headlight that rattled. The link that held the
light in place was worn from so many years of rattling along potholed
roads. The part was available -- but look at it, he said. This will
just wear out again in a couple of years. There's no lubrication, no
adjustment, no compensation for how the angle changes as the headlight
goes up and down.
He redesigned it using a
rod end --
a lovely piece of hardware that has a threaded rod (adjustable!) at
one end and a nylon-encased ball bearing at the other. It came out
far more solid and adjustable than the original ever was. No more bouncing!
Later, when I got more confidence in my own automotive ability, I
could do some of that myself. My proudest accomplishment was a set of
adjustable spring perches made out of a toilet part from the hardware
store. They cost about a tenth as much as the custom spring perches
the top-flight autocrossers were using, and worked almost as well. I only
wish I'd been prescient enough to have taken photos for a future website.
When you take your car to a mediocre mechanic, like the one who lied
to me about my turbo because he was too inept to recognize the real
problem, you get the wrong idea.
You come away thinking that fixing things is all about
replacing one part after another until the customer stops coming back.
But real fixers aren't like that. They look at a design
and ponder how to make it better. They fiddle with things, and try out
new ideas. If they're not sure what's wrong, they set up experiments,
just like a programmer does chasing a bug, or a scientist testing a new theory.
In today's world,
being a Maker is hot now,
while being a mere fixer isn't held in such high regard. But it should be.
People who fix old stuff -- who can figure out how to take
something broken and make it better than it was to begin with -- not only
are creative Makers, they're also environmental heroes. They're our
best hope to keep us from drowning in a sea of discarded junk.
I'm still not that good at it. I try to fix my computer stuff when it
breaks. I've learned a little
woodworking,
painting, plumbing and other home-maintenance skills from my husband,
who grew up in a culture where most people worked on things like that.
(That definitely wasn't true where I grew up.)
I don't work on the car nearly as often as I used to in the Fiat days --
I have more money and less energy and free time -- but I try to do
enough that I know what does and doesn't need fixing. When I don't
know something (which is still most of the time), I google for help,
and fiddle with things, and invent solutions, and sometimes I succeed,
sometimes not. When I do go to a repair person, I can ask the right
questions, and I can tell if I'm being lied to.
Jon Carroll is right, of course. There's so "much we do not know about,
well, most things." None of us has time to know everything about
everything we own. But that isn't going to stop me from trying. Fixing
is just as cool as making ... and maybe they're the same thing, really.
And I still want to be Kaylee. Maybe I'm making progress.
Tags: hardware, cars, autocross, maker
[
21:34 Oct 02, 2011
More hardware |
permalink to this entry |
]