Quantum Mechanic

Content tagged Linux

Our Bodies, Our Hearts, Our Software

posted on 2016-08-23 22:10:04

I don't really keep up with the various Linux conferences that happen now and then, but I certainly follow various free software planets, which generally filter the good stuff out for me anyway.  Something that slowly made it through my filters recently was Karen Sandler's keynote address at the Australian Linux Conference, where she, unsurprisingly, talked about the importance of FOSS software.  The part that was surprising, though, and really hit home for me, was when she started talking about her internal defibrillator.

Apparently, Karen has an abnormally large heart, in the physical sense.  She is at risk of suffering what her doctors called "sudden death," which means she could simply die with no warning.  Luckily for her, there is a great treatment in the form of the internal defibrillator - a small device that can be wired directly into her heart that will issue a shock to restart her it if she suddenly, well, dies.

I'm going to take this moment to urge you to go watch the video, it's a bit long, but listening to her talk about her own heart is going to do more for you than I can manage.

For those of you not watching the video, there are two scary parts.  First - when she talks about being at risk of sudden death.  The second is the sequence building from her cardiologist not knowing much about the device he was offering to implant to the point where he hangs up on her in frustration.  His frustration came from her desire to see the code running on the device he wanted to put in her, the company's unwillingness to show her the code, and his lack of understanding about why that's important.  If you're wondering why this sort of thing is important at all, it's because this machine is wired to her heart.

What we put into our bodies...

When we go out to dinner somewhere, we expect to be told what's in our food if we ask, we expect to know what's in the drugs we take, so why shouldn't we expect access to what's in the devices implanted in our bodies?

Let me phrase it another way.  A company makes an electric heart that you need because yours was stabbed like Jean-Luc Picard was in Star Trek.  You get it and want to know what makes you tick, and they tell you that your heart is their intellectual property and you're not allowed to know how it works. Furthermore, you're not allowed to modify it, open it up, or see its source code.  There's a well-known bug in it?  There's a firmware update?  You might not get it if it doesn't make money for the company.  You want to install it yourself?  That might be illegal depending on the time of year and what phase the moon is in.

When Karen told her story, her concerns were that she couldn't check the logic of her device, herself, nor could she have a friend or consumer-advocacy group do it.  Four years ago, when I started writing this, that was where the story ended.

Things that come out of our bodies

A few weeks ago, I came across this article, which I thought might be a bout Karen, again.  I opened it, hoping to read more about her and, hopefully, what progress she had made.  Instead, I learned about a brave, new person taking up this baton, because the same problems were still around.  It turned out that, on top of Karen's original concerns, people were now taking data from Marie Moe's device and refusing to give her access to it.

At first, as I read that they were collecting the data, I hoped it was available to her.  Wouldn't that be cool?  I could make graphs of my heart rate, if I had that data.  But they seemed to think that the data was theirs.  Her doctor seemed to be too busy to help her get at it either, which isn't surprising.  To me, this feels like going into the doctor to get the results of your blood work and being told, "I can't show you the numbers, but your cholesterol is fine.  The company owns your iron levels, but you aren't anemic."

There's an old maxim that is often forgotten or ignored that you don't own anything you can't take apart.  Warranties are nice, but when farmers can't repair their own tractors you start to see why user serviceable parts, even skilled- or trained-user serviceable parts are important.  In a world where any data that's collected is often sold and firmware updates come twice a year and stop as soon as the new model comes out.  People with implants are at an ever greater risk of losing control of their body parts RoboCop-style.  Malfunctions happen, and a thriving, open community is a great way of keeping the process more transparent and hopeful for everyone.  I would hate to have a malfunctioning defibrilator in my chest and have nowhere to turn, once the company tells me it's outside warranty or the like.

Yet Another DeDRM afternoon

posted on 2015-02-12 22:12:00

Today, I agreed to my first programming job! More on that another time. To celebrate, I got myself a copy of "Effective Javascript" by David Herman.

I decided to give Kobo a try, having been repeatedly disappointed by Barnes and Noble, and not having a Kindle. I thought Kobo was supposed to be DRM-free. I'm not entirely sure how I thought they were doing that when everyone else is trying to lock you into a books-as-a-service ecosystem, but I did.

In any event, it came wrapped in gross Adobe Digital Editions DRM. So, I just spent the last hour stripping it off and then deleting my Kobo account. To save any of you the trouble I went through, here's some links that were useful in a sea of not-useful stuff.

Clearing up some free space

posted on 2015-01-13 18:28:00

Every now and then, I get notifications on my laptop that the root partition is running out of space. That's because I made a rather small root partition for Fedora to run on when I upgraded to a SSD 1 that was smaller than my older, spinning disk drive.

One of the fist places I look for wasted space is /var, because I know that yum/dnf keep caches there and systemd keeps the system log there, too.

Usually, there's a rather large log sitting in there, for some reason. Today, there was about 950MB of log sitting there. I searched around a little and found that you can edit the configuration for the system log daemon at /etc/systemd/journalctl.conf. There's a configuration option called SystemMaxUse that you can set to something small, like 16M or 100M, depending on how generous you're feeling and how much you like logs, and it should max out at that much space.

Sources: A blog post and a stackexchange post.


1Solid State Drive

Multiple Cursor Mode

posted on 2013-09-26 15:35:00

In case you haven't already tried it, Multiple Cursor Mode for emacs is awesome. I actually got chills the first time I used it to edit multiples lines of work on a physics problem. All those repeated lines of LaTeX code, and now I can change them all at once!

It's in Marmalade, so go try it out!

No Gods, No Bosses

posted on 2013-06-14 00:17:17

Andy Wingo from Igalia has started writing about the company and their cooperatively run organization on his blog.  It's interesting both because of the exciting way they organize and run themselves, but also in the language Andy chose to use to talk about them.

Nobody likes to talk about Anarchism these days, and people who use its lexicon are usually buried in the media, as the recent Occupy movement was.  It's an immediate red-flag, and I know I intentionally avoid using words like "revolution" and even calling Anarchism by its name because I think people will just shut off and stop listening to me if I say them.  I find this sad, and I'm sadder still that I self-censor in this way, because there are important things to say, that I care dearly about, which use these words.

What I mean to say is that I really appreciate both the content of Andy's posts and how he chose to write them.  it makes me feel a little braver, a little more comfortable with something that is part of who I am and what I believe, and safer bringing it up in public.

You can find the introduction here and the first part here.

And for something fun and related, here's some Chumbawamba!

Unbricking a Buffalo WZR-HP-G300NH

posted on 2012-08-21 22:12:00

This general thing has been posted around a fair bit, including here and here.  I don't recommend going to them, because they are long and rambly, but they did help me fix my problem.  I'm going to include the instructions for flashing firmware on linux with tftp, as much so I can remember next time I brick the router.

You will need tftp installed.  These instructions worked on Fedora 17.

First, as root, (sudo -i)
# Stop network manager from messing up our flashing
systemctl stop NetworkManager.service

# Give your computer an ip address
ifconfig eth0 && ifconfig eth0 netmask

# Point it where your router will be
arp -s 02:AA:BB:CC:DD:1A

At this point, you should have your router plugged into the computer, but not powered on. Download an appropriate firmware and, in another non-root terminal
# Your router is always
rexmt 1
timeout 60

put ./wzr-something.enc

Naturally, you need to put in the appropriate filename after 'put'.  Plug in your router after you've entered that command.  After retrying a dozen or so times, it should transfer.  Let the router reboot and enjoy.

Rooting the nook color

posted on 2011-10-01 15:55:35

When I graduated recently, I got a nook color as a present from a thoughtful family member who saw an article about rooting them in the paper and realized that was something I would probably enjoy. While I do very much enjoy the rooted nook, I the actual rooting process has been a bit of a pain for me. A few days ago, my nook started boot-looping, and I was forced to reset and re-root it yet again.

Instructions for rooting the nook with the 1.2 version of its software can be found here.

When flashing the clockwork recovery to an sd card, I need to use my phone as a card reader. This is annoying because it works best with my phone in recovery mode, and therefore takes my phoneout of comission  while I'm flashing the disk image. The other annoying thing is that I've found I need to flash the image to the raw device with dd, which goes slower than flashing to a partition. I assume this is to get some boot flag on the base partition. This means I flash the image with
dd if=1gb_clockwork.img of=/dev/sdb

Instead of
dd if=... of=/dev/sdb1

Once you get it working, though, it's a great deal. I'm typing this in the wordpress app for android, and I can watch netflix (which I can't yet do on my desktop because the onlylinux support they have is for android).

My first droid

posted on 2011-01-24 02:52:06

I am typing this, somewhat slowly, on a new-to-me android smart phone. The typing is still rather slow, but not as painful as I had expected. Unfortunately, the delete button is right next to the "go to home screen button, which has already interrupted me once. That said, while typing this, I feel like I'm getting a lot faster. I also accidentally just quit this program and called my voicemail... It might be nice having it serve as an ogg player too. Now I just need to pray that I don't get totally sucked in and forget about people entirely!

Saturday is break your computer day

posted on 2009-11-08 06:59:00

I celebrated the weekend with my tradiditonal fucking-up of my computer, followed by the requisite fixing of said computer. Today's effort was to move my debian testing installation to the beginning of the hard drive, after removing the Vista that came with it. Removing Vista was easy enough (delete partition!) and then came the moving my linux around. I copied the contents of my /home onto an external with an ext4 partition, which I would later learn to be less easy than the ever-compatable ext2. In the debian install CD's menu system, I partitioned the hard disk: Removed the NTFS partition, copied the root partition to the beginning of the drive, and then deleted it. Made swap, made home partition. When that was done, I booted and copied the contents of my external back to /home, only to find out that 'cp -a' doesn't bring along dot-files. So, there went my settings. All in all, it wasn't nearly as opaque or complicated ans dealing with Windows has been.

View content from 2009-03-16 04:17:00, 2009-03-21 04:36:00, 2009-04-02 02:00:00, 2009-04-04 01:48:00, 2009-06-25 19:43:00, 2009-07-09 19:15:00, 2009-07-09 19:44:00, 2009-07-20 23:25:00, 2009-07-21 16:57:00, 2009-08-05 05:44:00, 2009-08-05 10:28:00, 2009-08-12 07:11:00, 2009-08-23 02:05:00, 2009-08-23 04:30:00, 2009-10-30 08:02:00, 2009-11-08 06:59:00, 2009-12-04 01:17:00, 2010-05-22 18:55:00, 2010-05-28 22:50:00, 2010-06-05 19:55:00, 2010-06-12 02:12:00, 2010-06-20 20:20:00, 2010-07-02 22:57:00, 2010-08-20 22:16:00, 2010-09-02 02:07:00, 2011-01-07 10:35:30, 2011-01-07 11:17:53, 2011-01-13 06:48:47, 2011-01-24 02:52:06, 2011-01-31 02:41:34, 2011-02-13 23:09:09, 2011-03-23 05:59:11, 2011-04-06 01:33:19, 2011-04-24 22:15:24, 2011-04-24 22:51:30, 2011-06-06 22:36:07, 2011-06-16 02:27:10, 2011-06-30 01:26:18, 2011-07-31 23:10:35, 2011-08-17 04:15:14, 2011-09-11 17:13:48, 2011-10-01 15:55:35, 2011-11-02 15:14:47, 2011-11-08 01:49:00, 2011-11-29 23:28:27, 2011-11-29 23:30:17, 2011-11-30 06:58:06, 2011-12-08 02:41:21, 2012-01-17 17:27:10, 2012-01-20 16:59:54, 2012-01-31 17:26:17, 2012-02-07 15:46:44, 2012-02-10 17:15:32, 2012-03-03 18:35:25, 2012-03-30 02:45:19, 2012-04-23 21:44:13, 2012-07-13 16:39:31, 2012-07-13 16:56:55, 2012-07-17 01:15:15, 2012-08-21 22:12:00, 2012-08-22 21:26:44, 2012-09-19 15:35:27, 2012-11-15 21:27:40, 2012-11-15 21:28:49, 2012-11-26 09:40:14, 2012-11-30 22:05:50, 2013-02-22 20:37:08, 2013-03-08 08:50:26, 2013-03-16 21:41:50, 2013-04-06 06:50:15, 2013-04-15 04:18:48, 2013-04-15 20:27:06, 2013-04-23 20:43:29, 2013-04-30 20:39:31, 2013-06-14 00:17:17, 2013-06-18 16:45:24, 2013-07-08 10:33:06, 2013-07-25 05:00:00, 2013-09-05 14:07:31, 2013-09-25 15:31:00, 2013-09-26 15:35:00, 2013-11-12 15:49:00, 2014-01-04 01:46:27, 2014-02-02 21:48:41, 2014-02-24 02:55:00, 2014-03-05 18:42:00, 2014-07-22 00:46:00, 2014-11-11 14:15:00, 2014-11-13 16:33:00, 2014-11-21 22:17:00, 2014-12-01 20:30:00, 2014-12-05 17:57:00, 2014-12-16 19:53:00, 2015-01-13 18:28:00, 2015-02-12 22:12:00, 2015-07-11 23:54:00, 2015-07-12 00:22:00, 2015-10-18 22:57:35, 2015-10-19 00:32:40, 2015-11-28 19:01:47, 2015-11-29 17:03:00, 2015-12-06 03:02:00, 2015-12-10 13:34:00, 2016-01-03 17:45:00, 2016-01-03 17:56:00, 2016-01-16 20:43:00, 2016-05-10 01:41:00, 2016-05-12 02:01:00, 2016-05-15 14:32:00, 2016-08-01 13:15:00, 2016-08-22 22:05:00, 2016-08-23 22:10:04, 2016-10-26 17:33:48, 2016-11-26 01:36, 2016-12-05 14:42:00, 2016-12-05 19:31:00, 2017-02-03 18:00