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.

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

Monday, November 23, 2015

Waking the Sleeping Dog

Notwithstanding this blog post, violence is not the way to solve things. When God condemns the greedy rich for not giving to the poor, He also condemns the greedy poor for taing by violence and force what they have convinced themselves they deserve.

You may want to think that the other guy will give in when you show you are serious about what you claim to be your rights, but the spirit of reason does depart from human beings when they refuse to listen to it.

Desolation is the result.

There are more important things than vengeance and making others conform to your ideals.

[And I had a few more thoughts on this today. JMR20151207]

Shopping Conundrums

I'm in a bit of a funk.

My father raised me and my siblings with a sense of honesty that echoed the stories about Abe Lincoln walking back to a store to return a penny. I remember Dad driving back to a store to return a dime when a cashier gave him that much too much change and he hadn't noticed until he got home.

Now, that was back in the day when a dime could buy you a loaf of good whole-wheat bread. (Or two loaves of white bread-substitute, as Dad put it.) And that was a whole loaf, not the third-loaf packs of partial whole wheat bread we usually buy for between 160 and 230 yen.

So when the decorative hammer loop on these ancient blue jeans I'm wearing today caught a pack of breaded squid rings and knocked it to the floor in the store, I was wanting to talk to a clerk, buy the whole pack but ask them to discard the one squid that ended up on the floor.

The store manager was in the checkout lane I was lined up in, but he did not want to talk about it. He had four lines of customers nearly filling his small store, and it was the time of day that the volume would make the day's quota of profits.

Now I see that I had two options that would have partially or wholly satisfied my conscience.
  • Just close the pack back up with the dirty ring in it, buy it, and throw it all away when I got home. That would make the manager whole, and I would take the 189+tax yen loss. But he would not have approved.
  • Or take the manager's offer and buy a fresh one and let him dump the spoiled one. That would allow me to split the loss with him, and I don't think he'd have disapproved.
As it was, he took the whole loss, and I took the singed conscience home.

Taking the dirty ring out so I and my kids could eat the clean ones was not an option. There was no room to perform that kind of operation, and walking around with the pack open so I could find a place to do so would have invited misconceptions about what I was trying to do, and would possibly have wasted store personnel time in tracking my actions.

Having the "personal faith" to put the ring back and taking them back home for the family to eat them was also not an option, of course. It's not just my faith at question there.

I'm not smart enough to live according to my conscience.

I left that store on my bicycle and went to another store. Had to walk through that store carrying a tied grocery bag containing what I had bought at the the first store. This is not just a bad example that might give others ideas about how to shoplift, it makes it harder for the people at that store to keep track of potential shoplifters.

Leaving the bag in the basket on my bike is not an option, of course, not even in Japan.

The thing I should do is get or make a big bicycle baggage carrier with a lock. Then I could safely leave stuff on the bike. Maybe not in the States, but it would be okay in Japan.

I don't have the money to do that.

I'm not making enough money to live according to my conscience.

Now I know that this is not my fault. It's the world we live in. Mass produced merchandise makes things available to relatively poor people that have not been available in the past, but those things don't really help poor people do the things that would enable them to quit being poor.

Jumping past the analysis of what rich people do to the world to make themselves rich, God allows this world to exist.

He doesn't ask us to do things we can't do. He just asks us to make the best choices we can from the options that are available to us.

So, I'll just have to try to think more quickly next time I break something at the store. And try to remember to arrange my path around the stores to allow me to carry the purchases in ways that don't set the bad example or require store personnel to try to guess whether my implicit assertion that the stuff in the tied bag is not from their store is legitimate.

And let the disturbances to my conscience keep me on my toes, rather than induce me to quit caring.

Saturday, October 24, 2015

Adventures in OpenBSD (and NetBSD) parts 1 through 4, MacBSD

My first sorties into OpenBSD were almost twenty years ago, trying to install OpenBSD and NetBSD on old Macintosh hardware. Ran into SCSI and floating point issues. And bad CPU mask set problems.

Really wish I had known Apple was offering to replace the bad mask set 68LC040 in the LC/Performa 630 series Macintoshes. Found out about it too late.

The bad mask set CPU in the Performa 630 had faulty MMU operations during exceptions in certain address ranges. It almost functioned reliably for Mac 7.0 and 7.1, but not so much for Mac OS 7.5 or 8.x. Loading OpenBSD or NetBSD, you'd get tantalizing close, and then it would panic. (Actually logged in once to a completely installed NetBSD, looked around a bit, then tried to conpile something, at which point it died. Later versions would not even get that far.)

Was somewhat tempted by offers of a full 68040 on ebay, for $100 plus or minus, but I needed the money for rent and food for the kids.

The problem with the Performa 550 was lack of hardware floating point. (Always regretted not splurging 6,000 yen for the 68882 when I had a chance to get it on a closeout at, I think it was Ninomiya in Sannomiya.) My understanding was that the SCSI problems there were partly due to lack of floating point. Mac OS 7 ran pretty well, though.

Still have both machines, although my wife wishes I'd get rid of them. The 550 seems to have developed whiskers in the floppy circuitry that cause phantom disk insertion interrupts. The 630 has something in the monitor circuitry that ruins focus and color. Maybe that's whiskers, too. (Early lead-free PC boards tended to whisker around the solder joints.)

I keep them for sentiment, I guess. And because I someday hope to have the time to implement figFORTH and my bif version of FORTH in 68K assembler.

I extracted the ROM image from the 630 recently, to run the BasiliskII emulator under OpenBSD and on Android. It looks nice, but a major part of the magic of the old Macintosh was the careful timing that made the mouse work smoothly. That timing does not work under emulation. It's bad enough to prevent me using either emulated environment to start working on my re-implementation of FORTH during commute time on the train.

No current OS, including Mac OS X, really gets the mouse timing right, by the way.

To really get the timing right, the GUI really should be controlled by a separate CPU.

Consider what could have been in 1992, had Apple simply started putting both the Mac OS and A/UX in a single box, each with its own CPU, instead of running off into fantasies with the first abortive re-design which was theoreticallly intended to become Mac OS 8 but ended up as a pipe dream.

Saturday, September 12, 2015

Inanimacy -- One of the Weird Things about Teaching English Grammar in Japan

One of my lead teachers is using a book called Grammar 80 or something like that.

It presents 80 examples of applied English grammar that some Japanese teachers of English seem to think need special attention.

I don't think the book itself is bad. It has issues. Any attempt to write such a book on budget and get it on the market is going to have issues. Some of the issues in the orginal printing have been addressed, or even fixed. Some remain.

I do not think the school that employs me is bad for using the book as a textbook. Well, not especially bad. It's typical of the things private schools do here, and the practice is, unfortunately, spreading to public schools. (Such as my daughter's school. Ick. The things I have to fix when she comes home. Talk about pushing that stone up that hill.

Teaching to the tests is not my present topic.

(You know, I'm sure Kate Bush was channeling Sisyphus when she did that song. Oh. Some people will think that video is not safe for work, I guess. I'm an aging dancer. To me it's more about responsibility in relationships in general than about sex in particular, but I do admit explaining that to some teen-agers is difficult.)

No, teaching to the tests is not my present topic. I think I've blogged about tests before, but I only find an incomplete post in the summer English blog from two years ago. Looking in the wrong places, maybe.

Tests are supposed to be an adventure. But that is not what I'm talking about.

The unit from Grammar 80 that inspired this rant was on the topic of inanimacy in English: 無生物主語、 or inanimate subjects.

Example:
Weather prevented the airplane from taking off. 
This seems to be a surprise to Japanese academics because "preventing" is something people do, not something the weather should do.

According to their incomplete dictionaries.

Another example:
How fast computers develop! New computers enable us to do a lot more work than last year's models.
Now I've fixed those examples, and I'll return to their original form shortly.

But what is this?

English is a language in which animacy, if it was ever a grammatical principle in the old language, has almost entirely disappeared. Some point to gender diferentiation as a vestige of animacy, but that is a theory.

Just a theory.

Animacy is a principle in Japanese grammar, yes.

But the problem is that dictionaries fail to provide sufficient definition, fail to point to both the animate and inanimate corrolary vocabulary and idiom in Japanese. Or that students don't look far enough.

We are wasting two hours of high school students' valuable time talking about examples of theoretical issues that are better the topic of post-graduate theses.

Ten words of explanation, two example sentences, move on to more important things.

And then there is this example about "my father preventing me from marrying an actor". Well, I guess, if they are going to use this as an excuse to demonstrate uses of "prevent", it's a good example, even though it seems to reach beyond the unit title.

(Not sure if it does to the Japanese academic. There may be some obscure grammar in operation on the Japanese side that drags certain animate subjects into the tangle of inanimacy grammar. Something to look into at some point.)

This one, I'm going to quote verbatim:
Law prevents lots of bad things from happening.
There was one student last week that came up to us after class and asked about the logical issues of that sentence. The lead teacher is not temperamentally equipped to deal with such questions, and, really, five minutes between classes is not enough time. But he seemed to be sufficiently satisfied when I admitted that the sentence has logical issues in either language.

(The teacher said, "Please don't confuse the students."

Heh.

She's a good teacher, mind you. Very good.

The system is the problem, not the textbook, not the teacher, not the school.

I'm walking on thin ice, I know.)

Now, the original of the sentence about computers was something like this:

New computers enable us to do a lot more work than the computers sold last year.
(Ignoring the fact that it is an outdated bit of sales blurb, ....)

These poor kids are being taught the use of passive before they are being taught the use of active from junior high school.

They are being taught style instead of grammar, and, inevitably, they are being taught inappropriate style,

... because they are trying to teach English as if it were chained to ages of forced formalisms, just as Japanese is supposed to be (but is not).

Many good teachers. Lots of great students doing their best. Many good schools.

The problem, as it always is, is the system.

But there is good news. Modern Japanese is losing the formalisms. This also creates generation gap issues and other such problems, but, hey, we are problem solving creatures.

As long as the system doesn't get reactionary and try to keep individuals from trying to solve their own problems, we can work around these kinds of things.

Keeps life interesting.

Entanglement Easter Egg? 'Norah Jones — Pointer Song'

I was looking around for some indication that someone has had at least partial success in re-writing Unix in Ada, and found the Dargauds' pages on programming quotes (http://www.gdargaud.net/Humor/QuotesProgramming.html).

There was/is a quote on the page about taking a break from programming and listening to Norah Jones's Painter Song (solopsism, "Pointer Song" was the joke), and I was feeling obtuse, so I took a listen on Youtube.

Returning to the quotes page as she picked back up after the bridge, I suddenly got a voice-over, "Don't use language like that! Use C++."

Weird timing for Guillaume's audio on that page. Had me wondering whether he'd written it to trigger only on Norah's song playing in another window. Or even to dig deeper and find open browser windows with pages about Ada showing.

Couldn't find the "show source" button in Firefox just now. I know it's there somewhere, just can't remember where in this "advanced" UI.

Climbed the URL to the home page and got more sounds. Now I'm assuming it was just a glitch in the event management that held the voice-over off.
 Well, reading a few more quotes, I see that when "C" (the language) shows up in the text, it often is linked to a page about C in particular, and those links have a rollover that activates the voiceover. It was just a coincidence.

(Still, I shut firefox down and rebooted. --> various complaints about javascript elided.)

Incidentally. I've tried C++. Don't like it. Sometime, maybe I'll blog about why, but I have more important things to do right now.


Thinking about Learning Ada -- Could You Write Unix in Ada?

I'm pretty much dissatisfied with every programming language I know. But I used to think Pascal was not too terrible, and Ada has a reputation for getting right many of the things C++ gets wrong.

The question is, Can it be used for the kind of programming I tend to do? If it is a good language, why hasn't anyone built something like Linux using Ada?

This is a list of stuff that came up when I started casually looking for work on implementing a Unixish kernel and userland in Ada:

I'm not finding all the links I found yesterday, but it's enough to make me curious enough to see if I can pick up Ada. I'll try to update this list as I do so.

I'll also try to post some of my self-education efforts on my languishing Programming Fun blog.

(By the way, I did find enough to be sure that Ada is not going to be my dream language. Just enough to get me interested in seeing what I can do with it.)

Monday, August 31, 2015

Why I Can't Use the Phrase "Re-inventing Wheels" as an Insult

Many times you hear someone accuse someone else of "re-inventing the wheel" in a tone of derision.

Sometimes I say that someone is re-inventing the wheel.

But, from me, that can't be an insult.

You see, if I could find someone to sponsor me, I'd be re-inventing the entire information industry infrastructure.

Information encoding? Yeah. I want to replace Unicode with an encoding standard that would encompass the functionality of asn.1 and sgml in one rational, accessible whole, not to mention make embedding binary data in text work much more smoothly. And reduce or eliminate glyph aliasing with out-of-context characters. And separate the international encoded sets from the national encoded sets, to help reduce such aliasing and make regular expressions work better in local contexts.

That's definitely re-inventing a lot of things perceived as wheels, not presently worth the attention of further refinement.

Programming languages? Yeah. I want to re-invent the language C, the runtime, add a couple of storage classes to reduce the problems of overwriting local variables and controlling concurrent access from separate threads, and add little bits to function declaration and call syntax. And I want to reinvent a language called FORTH, so it would be more amenable to being used as a user interface shell language, among other things. And re-invent Unix with a new executable object format supporting all this. That's going to be equivalent to an earthquake in userland, not to mention in the system itself.

Networking? Of course. I want to get rid of IPv6 and implement nested IPv4 addressing. Make NATted addresses optionally visible externally, to open up more static addresses and reduce the incentive for ISPs to charge through the nose for a static address, for starters.

CPUs? Those too. Intel has been burning up resources building their monopoly on the CPU market for far too long. ARM helps, but too many manufactures are too willing to play games trying to lock their customers in. And no one really supports proper separation of user resources in current CPUs. We need to focus away from raw speed and more on stability and securability.

And so on.

Yeah, I want to re-invent wheels. So, if I merely note that someone is re-inventing wheels, that, in and of itself, is not evil. And I do not intend insult by it.

Re-inventing wheels is good for many reasons, and not just to provide churn for the sales crew to work.

(Re-inventing wheels solely for sales churn is somewhat evil, but it can be better than keeping the world as it is. I should rant about that sometime, too.)