My Best Teaching Is One-on-One

一対一が僕のベスト

Of course, I team teach and do special lessons, etc.

当然、先生方と共同レッスンも、特別レッスンの指導もします。

But my best work in the classroom is after the lesson is over --
going one-on-one,
helping individual students with their assignments.

しかし、僕の一番意味あると思っている仕事は、講義が終わってから、
一対一と
個人的にその課題の勉強を応援することです。

It's kind of like with computer programs, walking the client through hands-on.
The job isn't really done until the customer is using the program.

まあ、コンピュータプログラムにすると、得意先の方に出来上がった製品を体験させるようなことと思います。
役に立たない製品はまだ製品になっていないと同様です。

Saturday, December 29, 2012

Getting Fedora 17 running on my netbook.

Okay, okay. I do need Fedora to study for the LPIC 2.

(Looking really carefully at Mint, for when I'm done and the root partition fills up.)

So, getting Fedora updated to v. 17 --

Start with the netinstall image. Use Fedora 16 live USB utility to load it onto a USB thumb drive.

yum install liveusb-creator

if you need it. (You can get the utility for MSWindows, too. And see the Fedora wiki on it for more details and options. It looks like there's a tool for Debian, too, I need to check that.)

I had to run liveusb-creator from the command line with the option to write the MBR (as suggested when it wrote the image the first time). The first try without the fix failed, but the second try with the MBR fixed worked. The command line with the option looks like this:

liveusb-creator -m
or
liveusb-creator --reset-mbr

The MBR may have been the reason my attempts at dd-ing the image didn't work.

So much, so good. Boot the USB image, either by using the BIOS settings to give USB devices priority in the boot order, or, if your BIOS supports it, by watching the first few seconds of bootup and hitting the key that it says allows you to choose the boot media.

I installed the minimal because I really wanted to keep control of the process. Was very careful to select custom layout. (Do not select any thing else or you will lose your data, if you are trying to do a "fresh" install like I was doing.)

Only set it up to grab the old swap partition and /tmp partition and the old root partition. Was very, very careful not to touch the old /home partition. (Did I say that enough times?)

Should have copied out the /etc first. Should have gotten a list of installed packages from yum before I shot myself in the foot trying to upgrade from F16 to F17 the easy way that doesn't work.

Gave it a root password, but no other users. Didn't want to have clutter in /home, since that is where the old home partition will mount.

Next, I asked around, to see if splitting /usr off after a successful install might work, and, no, the boot process needs stuff they've gone and moved to /usr. (See my diatribe linked above about root filling up.) So I'm stuck with a small monolithic root partition.

So, (if /dev/sda10 is my /home partition) log in as root and (back up /dev/sda10 first and)
blkid /dev/sda10 > home_uuid.text
vi /etc/fstab home_uuid.text
and use the :next and :prev vi commands to ytl (yank) the uuid and paste it in appropriately for the new line for the /home partition (saved in /dev/sda10).

Write fstab out (":wq") and quit vi and

mount -a

to bring the /home partition in and check your fstab. (Make sure you ls -la /home to be sure you didn't mistake the old /var partition for the old /home partition.)

Now, "useradd" with the "-u" option for the old user-ids and "--home" option appropriately for assigning the old home directories that are now in place.

yum install gpm

for using the mouse in a virtual console. Very handy, especially the right-click trick, to save you from typos.

yum groupinstall "X Window System"
yum groupinstall "Xfce"
[Update 30 Dec.: Had to take a break and go shopping at this point last night.]

and, lo, and behold,

systemctl start graphical.target

starts your XFCE desktop.

ls -l /etc/systemd/system/default.target 
ls -l /lib/systemd/system/graphical.target

to make sure you see what you are doing.

rm /etc/systemd/system/default.target

(Use sudo if you are being smart and are logged in as a non-root member of the wheel group.) Link the one in /lib in where you just removed the old link to multi-user. (Why was that the obsolete run-level-3 on mine?) Don't get the order wrong, or you'll cause yourself a world of hurt. (I wonder if there is a gui tool for this to protect you from when you fall asleep at the keyboard.)

ln -s /lib/systemd/system/graphical.target \ /etc/systemd/system/default.target 
(One line is fine, in which case you don't need the "\". And notice the difference between /lib and /etc and which one the symbolic link you are replacing is under.)

And, now that I have done that, I have to go wading through all the cool tools I had installed and bring them back in, one by one, starting with Firefox and fbreader and gcc and hexedit and lazarus and ....

(No, wait, lazarus is down the road a bit.)

[Update 31 Dec.:]
Oh. I want to leave a note to myself, from a post on the fedora user list archives.

When moving stuff, like moving the /var directory from the new OS to the /var partition from the old OS, mounted temporarily on /mnt, rsync seems to be your friend:

rsync -avxHSAX /var/* /mnt
diff -r /var /mnt 

  • -a => archive
  • -v => verbose
  • -x => don't cross file system boundaries
  • -H => preserve hard links
  • -S => do sparse files efficiently
  • -A => preserve ACLs
  • -X => preserve extended attributes

and that seems (as shown by the recursive diff) to handle the file links better than
cp -a

  • -a => archive or same as -dR --preserve=all

Theoretically, this is what I want to do when cloning or backing up a drive.

More stuff to play with study in my spare time that I never have.

(Mustn't forget to umount the partition before mkfs and, oh, best to boot from a live USB or CD so the OS isn't playing around and writing in the drive one is trying to copy as one tries to copy it. And such things.)

And one more thing. fixfiles -fF relabel is best not to do directly.
touch .autorelabel
and reboot, instead.

Friday, December 28, 2012

/usr merge and the tail wagging the dog

Fedora 16 17 is will probably be the end of the line for me.

Really wanted to keep my hand in, there, since I still need to take the LPIC level 2. But there are a few guys in there who are all gung ho over ripping out the flooring and restructuring the entire Linux file system layout to match their vision of layout of some other so-called operating system.

Microsoft envy. And hubris. Hubris without utility.

Here's what I'm fighting:


  • /sda1: some boot-up partition for MSWindows. 7.
  • /sda2: the usual "C:" partition with "System" and "Program Files", etc. 
  • /sda3: the usual "D:" partition, except it contained a bunch of stuff for the bundled utilities, install packages and the like. If it weren't for the program to update my wireless router, I'd junk the whole of the MSWindows system.
  • /sda4: the "restore" partition. Doesn't work, for what it's worth. Just breaks anything you installed since the last time you tagged it.
I suppose the C: partition had to be a MiSeryDOS basic partition. Would have been nice if they could have put it in a "logical" (i. e., nested in the extended) partition. But, noooo, Microsoft doesn't have any motivation for making it easy to install any other OS on the box for dual-booting, especially not a "competitor's" OS.

D: and the restore partition --No, there is no valid technical reason not to put those in a logical partition. Not that they (Lenovo) have any motivation to make it easy to install an alternate OS on the box, either, especially with the kickback from Microsoft. ("Volume" discounts only available to "A" rated integrators and OEMs, where "A" includes deliberately getting in the way of Microsoft's competition with games like these.)

Not that it would have helped. The restore function is hard-wired, against all technical reason, to the vendor installed partition layout. So the end result would be the same.

I described the above and how I originally installed Fedora 16 on the box elsewhere.

The way I did that, /sda4 ended up at 14.5 gigabytes. I little on the large side for a bot partition, but it has to be the boot partition because the boot partition has to be a basic partition, and there are only four of those, and /sda3 has to be a basic partition so it can be the enclosing extended partition for the other partitions I cut for the install: /usr, /home, /var, /tmp .

Now it's Fedora 16's end-of-life. Time to update to Fedora 17.

But.

Some hot-heads (apparently spearheaded by a group at freedesktop.org) got a bee in their bonnets about how "Everything ought to be in /usr. There is no technical reason to separate them now."

Makes me want to swear. Yes there are plenty of technical reasons, security, stability, and simply having a bit of division of purpose.

And Microsoft envy is not a good reason for changing that.

Sure, we no longer have the sort of situation they had in the early days when drives were small and you wanted to have all the stuff you needed to boot up in one set of directories and all the rest in another. Right?

lvm in /usr instead of /bin is a pain, yeah.

Plymouth in /usr is liveable, but it would be nice not to have to tell newbs why their cool start-up screens don't get loaded at startup. Yeah. I understand. But it's not a technical reason.

And ACLs (including the curious perversion of the concept that someone calls securelinux or something like that) mitigate the need to separate classes of binaries and libraries. Sure. I understand that you think such things.

You're wrong, but I understand that you think such things.

No, vendors never do stupid things like I described above, right?

RIGHT?

ARE YOU GUYS LISTENING?

No. You're not. I'm just a nameless slob, roadkill on your way to inventing reason for code churn and the accompanying job security.

I've lost about a month, total, to your need to prove how smart you are. A month of my time that I could have been writing bug reports on outstanding bugs. But it means nothing to you guys, because I'm a nameless slob out here in never-never-land.

When I hit the 15G limit on the root partition because /usr is packed and I can't put it on another partition because of your hubris, I'm gone.

Debian's engineers are smarter for the time being, but, if they roll over, shoot, configuring openbsd from scratch is going to take less time than figuring out work-arounds to your vanities.

Monday, December 24, 2012

Delicious!

The old conundrum, "Can delicious be good for you?" invokes a common paradox. Like all paradoxes, it is easily resolved by looking closely and context and semantic overload.

There are two kinds of delicious. (Just like there are two kinds of beautiful. Well, more than two in both cases, but I'm going to cast a really broad cloth today.)

One kind is easy-to-eat and easy-to-turn-into-energy, sugar being the most notorious representative.

The other kind is harder to pin down, because it varies from person to person and from time to time. If your taste recognition circuitry has not been totally burned out by an overload of sweets and meats, food that is truly good for you is usually perceived by you as delicious.

And if you think about it, you know the difference. One excites, inducing -- not coincidentally -- an excited, somewhat uncomfortable feeling in your stomach. The other tends to make you feel comfortable, when you smell it, when you eat it, and when you think about it.

Are there foods that are both kinds of delicious? Well, yes, of course. Most foods are a bit of both. Bill Cosby's chocolate cake routine speaks to that somewhat poignantly.

Work is a bit like food, too.

So, what am I trying to say here? Next time you wonder whether you should go on a weight-control diet, think about how you've defined delicious in your conscious mind.

Think about the foods that are supposed to be good for you. Among those, you'll recognize foods that you enjoy eating, or foods that you kind of really would like to eat now, even though they aren't the most popular foods. Those foods will provide clues to what your body is really needing. Give your body the food it really needs, and you won't find yourself nearly as subject to the uncontrollable cravings that make your diet go haywire.

If you get into the habit of figuring out what your body really needs and eating that first, you'll general find that you don't really need to think that much about weight control. Your body will naturally gravitate to the healthy weight range.

Exercise also helps, of course. And the same principle operates here, too. There are kinds of exercise that seem exciting, others that seem easy, and those that you actually enjoy. Do the exercises that you can enjoy at some level, and you will find that your health improves naturally. Not without effort, but naturally.

I mentioned that work is similar, so is study.

yummy job -- oishii shigoto

There's an expression in Japanese business vernacular, 「おいしい仕事」 ("oishii shigoto").

It transliterates to "yummy job", except that "yummy" sounds childish.

So it transliterates to "delicious job/work" except that delicious is too literal, and sounds like working in a pizza shop or bakery or confectionery.

Compare it to the epithet, "This job is cake." Or to the complaint, "He skims the cream for himself, leaves all the strippings for the rest of us." as applied to a businessman who grabs all the easiest and most profitable contracts he can and and leaves the harder and less profitable assignments to his co-workers.

Okay, not everyone uses "oishii shigoto" as an epithet. Some people understand that hard work is like vegetables and that work that produces too much money is like refined sugar.

Some people understand that sweet is not the only delicious flavor.

Sunday, December 23, 2012

social freedoms and the semantics of machines

A boy I know and his parents have arguments over how much time he spends playing video games. The funny thing (one odd thing) is that the parents claim to support social freedoms.

The son, for his part, is in a high-pressure high school over his head. Not so much over his head, but the school is a science/math focus school and his interests are in the people sciences, history, maybe biology, definitely sociology, etc. The games are not just his way of letting off steam. They help him loosen his conscious grip on his understanding enough to let the principles soak in.

He gets the principles, just not fast enough to keep up with the pace of his homework, or the tests. He's always a step or two behind.

So his grades are in the sink.

But when he understands, he understands, as opposed to the average above-average student who mechanically copies the rotework and never really grasps what is going on.

Playing video games at three or four in the morning is a little extreme. Japanese high schools, the ones everyone fights to get into, are not conducive to education.

If the parents recognize that people in generally must be free, why can't they let their own child choose how he attempts to implement his goals?

Actually, more than one family I know is in this vicious cycle.


No time to write this out in small steps:

If there is a reason for people to be different from each other, they have to be free.

If people have to be free, children have to be free to find their own way, even to extremes like playing video games at three and four in the morning.

If they don't have freedom, how do they find the meaning in the things they do?

If they don't find meaning in what they do, what makes them any different from the machines we build?

(This argument appears to contain some logical leaps and some incomplete implications, but tightening up the logic runs into axioms that some people like to quibble excessively over. And I'm out of time.)

Of course, the warning voice of the parents is one of the context elements that helps children find meaning, but parents really need to be conscious of what meanings they help their children find.

Friday, December 21, 2012

patent blues

Give the software patent industry a big, fat raspberry.

Back around 1987, I told a friend who asked me what kind of computer to buy that I didn't like Microsoft for the way they were muscling and hustling the industry.

He asked me if he should then avoid Microsoft, and I admitted that the offerings from Atari and Commodore and the rest of the alternatives, while I liked many of the companies, had the detriment that they were under-represented in the kind of software he needed.

He asked about Apple, and I said, if I didn't like Microsoft, the only reason I didn't hate Apple was that they weren't in the predominant position that Microsoft was.

I told him, I would not like to live in a world where Apple had a defacto monopoly.

Prescience, or what?

So, what did I advise him to do?

Buy the computer for the software he needed, and if he needed more than one, buy more than one.

(If only people had been willing to do that back then, buy the Apple for the kids, for the computer-aided art, etc., buy the IBM compatible for Lotus and WordPerfect, buy Sun for the servers, and learn enough about how to use their computers that they would know to hold their noses when the smelled the stench of anything Microsoft produced.)

It's still good advice, except that I'm going to add Apple to the hold-your-nose category. Buy Apple or Microsoft if you absolutely have to, but don't breathe too deeply, and go to a bit of extra effort to avoid having to.

So, what do I recommend now?

Learn Linux and BSD and the applications that work on those machines. Replace your Apple and Microsoft products as you find reasonable alternatives. Go to a little extra effort to avoid the data-traps Apple and Microsoft lay for you.

Can we trust Google and RedHat? Yes, sort-of, now. More than Apple and Microsoft.

But, and this is the key idea to understand here, systems are dangerous things when they are advocated. (There are historical, psychological, and mathematical reasons for those dangers, and the history goes back well before the beginnings of what we know call the computer industry. Way, way back before that.)

Purveyors of systems, when they get overly anxious to be the one-and-only system, should all be avoided. Google may seem great for now, but once they establish an effective monopoly, give them no more than ten years and they'll be doing the same things that rot out all the good companies, the same things that undid all the good Microsoft and Apple ever did. (Notwithstanding that they do have a better track record than either Microsoft or Apple at this point. Much better track record.)

Any single company that gets that large is going to have this kind of problem.

It would be nice if the Free/Libre software movement could stabilize and provide the technological underpinnings to an industry where there would be lots of small players and lots of consortia, but if Linux-based OSses take over the world, and if the EFF (great players that they are) become the only advocate, we ultimately head for the same problems.

One system to rule them all. That always leads to an evil result.

(Having a triumvirate of Google, Apple, and Microsoft is not a good long-term plan, either, although it's good for now and the next couple of years or so.)

Why must this be so? Why are human systems always going to go south?

Turn the question around: How do you expect humans, even if we can lengthen our life-span to a thousand years, to build anything close to a perfect system?

That kind of perfection literally takes an eternity to achieve. And it should not surprise us that this is so.

Systems are okay to make. In fact, they are good to make, as long as our hubris doesn't prevent us from letting them go when it's time to move on, and as long as our hubris doesn't prevent our systems from getting along with our neighbors' systems, too.