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.

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

Tuesday, July 31, 2012

selective peeve

Mormons aren't supposed to have pet peeves.

モルモンなら、焦らすものを見てはならないはずです。人の好みはその人に任せてええやろ。

God's truth is huge, broad, covers a lot of territory. (Everything is quite a lot.) Getting hung up on a few little things is a good way to quit moving forward. More important, peeves are about people's foibles, and looking at someone else's sins, especially the little ones, tend to make us blind to our own.

神の真実は幅広く、壮大なの。沢山の領域を行き渡るのです。(「すべてのもの」は確かに沢山でしょう。)自分を前進させないつもりなら、ちょっとした、小さいものに引っかかるのが効力ある方法です。それよりも、人の焦らすものを見るのは、その人の癖を見ているのです。人の罪を見ていると、とくに、人のささいな欠点を見ていると、自分の罪が見えなくなるのです。

So, this may be indulging in a minor sin, but I get hung up on the word "selective."
"Selective" courses at school.
"Selective" medical examinations.
なら、次の話にふけるのは自分の小さい罪となるかもしれませんが、「selective」という言葉に引っかかってしまうのです。
「Selective」な学科。(特選な学科?)
「Selective」な診察。(特選な診察?)
I know there is a bit of ambiguity in the dictionaries, and the speaker always trumps the dictionary anyway. But it also makes sense to understand what other people who use the word intend.

確かに、辞書の定義を読むには選択肢があるし、言葉を使っている人の勝手はいつでものことですし、…

しかし、自分の使っている言葉は、まわりの人が何の意味を以って使っているかを理解するのは合理的なのだと思います。

For a native speaker, well, for this native speaker, "selective" tends to be a synonym for the adjectival use of "select". But, more than that, it tends to describe processes of discrimination, as in the non-pejorative sense of "discriminating taste". Or it tends to refer to the exercise of discriminating taste. A person who is selective, for instance, might tolerate Perrier from a bottle, but would prefer something a bit less commercial.

母語とする人にとっては、まあ、とりあえず、英語を母国語として喋っているこの人にとっては、「selective」とは「選択する」の「select」の形容詞用法の同義語に使っている傾向が多いと思います。よりも、識別の作用について説明する言葉です。「Discriminate」といえば、「差別」ではなく、「discriminating taste」の「見分ける味覚」のような意味を呼び起こすのです。つまり、自分の意志を持って、ものをよく「選ぶ」ような習慣を描写する言葉です。たとえば、「selective」な人なら、ボトルから流れて出るペリエーを我慢できるが、むしろ、商用的なミネラルウォーターでないものの方を好むのでしょう。

Generally, the word intended is "elective".

さて。一般的にいえば、使っているつもりの言葉は多分、「elective」だったと思います。

Hmm. Look at the amount of time and web-paper I wasted on that, when I could have just said,
If you're thinking of using the word, "selective", try "elective" first and see how that fits.
 まあ。以上は時間とウェブ紙の無駄遣いかな? たとえ、
「Selective」と言う言葉を考えているときは、まずは「elective」という言葉をかわりに使ってみては如何ですか?
と言ったほうが簡単に済んだでしょう。

Sunday, June 10, 2012

IRS's convenience trumps Constitution, I guess

Up until 4:00 and 5:00 fussing around with e-file over the weekend.

Still not done. Have to buy printer ink after all, print the stuffpit forms, and get them in to a post office by Wednesday evening, so I can get the postmark and claim to be filing on time. (The IRS is kind enough to give overseas taxpayers a two month extension, if you remind them about it in your filing.)

Not that the IRS would penalize me. 15% or 25% of zero is still zero. I'm not making enough to pay taxes over there. Barely making enough to pay rent in a middle-class district, barely making enough to pay any taxes to Japan. But it's better to keep the IRS happy, right?

The IRS does not maintain a way to report my taxes over the Internet. All the hoopla over "e-file", but it's all 3rd-party. (And why should I trust those 3rd parties more than the government?)

And  All the hoopla about "free", but the 3rd-party tax "enablers" are given all the opportunities they could want to try to convince the average taxpayer to spend "only" $15 or $25 to get some set of features they should not have to buy. (Yeah, that's at least a day's worth of food for my family. I suppose I shouldn't be living in a middle class district, but it costs too much to move in Japan.)

Taxpayer. Taxplayer. Bah. Humbug.

A walk through the mall is free. But, then, nobody is holding a gun to my head and threatening me with a theoretical prison sentence if I don't take my obligatory yearly walk through the mall.

Well, it turns out that, because I am depending on the automatic two-month extension given to people who live overseas, I have to file a paper return. According to Intuit's TurboTax, anyway. Ten hours wasted, from late Friday night to about five this morning, looking at different 3rd party's e-file stuff, trying to figure out which I distrust the least.

If I had bought printer ink yesterday, printed out the forms, and done the stuffpit tax report by hand, I'd have been done and got some decent sleep.

Yeah, bought printer ink. Depending on what sort of deal I can find, roughly $40 to $70 (JPY 3400 to 5600) for ink.

Yeah, I probably should buy some eventually, but that's a week's worth of rice plus maybe a day or two's worth of beans and vegetables for the family.

This is the problem with people who get fancy ideas of what is or is not too much of a burden when it comes to taxes. (And other detailed rules and regulations that people ought to follow. Other people, usually.)

Well, let's drop back and think for a minute.

I can get the forms somehow, fill them in by hand, mail them, and the IRS spends the money and time to enter the data into their databases and check it, etc.

Why can't I simply type up the form on a template that I could download from them and email it to them?

PDFs are almost there, but Adobe demands too much money for the software to edit them. So that wouldn't work as a sole solution, but might work as an optional solution. Admittedly, manually transferring the numbers from one screen to another is a little more stress on the eyes than from paper to a screen, but surely the IRS can give their workers sufficient breaks during the day.

MSOffice, of course, is owned by the convicted monopolist, so it should be dismissed out-of-hand. I'd say, offer it as an option, but the write-protect features are too easy to break, and too many taxpayers don't understand how they can make sure they have kept a copy of their own.


Open/LibreOffice would be great as an option.

But so would plain text. The formatting is not that hard, once you shake yourself of trying to imitate the format of the current forms. Those forms were designed to be easy to see while holding lots of data on one page. With computer files, the single page restriction can be set aside.

A partial example template:

For the submitter:

Last name: (type last name here)
First name: (type first name here)
Middle initial: (type middle initial here)

Social security number:  (type social security number here)
(If you do not have a social security number, please refer to <>.)

The IRS would have the taxpayer send this to an address where it would be automatically parsed, and the results of the parse sent back to the taxpayer:

Apparently, you did not type in your first name. This is what we received:

Last name: Joseph P. Sixpack
First name:
Middle initial:

Of course, this could be done almost as easily with an ordinary web page that does not try to calculate for you.

I suppose the expectations of many taxpayers, that the IRS should just calculate it all for them (Oh, ye who know not the meaning of freedom!) are the ultimate excuse that the IRS has for not doing this. But surely they could put up enough warnings?

(I am aware that the calculations by the IRS have to separate from the calculations done at submission time, because of certain principles in the science of information handling, if not for principles of freedom. But that also begs the conceit of not calling the 3rd party companies that provide tax software "tax preparers". Yes, they are preparing your taxes for you.)



Tuesday, May 15, 2012

Using Patents to Claim Things You Didn't Invent

Can Dr. Mitchell's testimony in Google vs. Oracle finally be used to drive the stake through the heart of software patents?

Here's the situation in a nutshell. We have a disagreement between several experts on two points, dynamic vs. static function, and symbolic vs. non-symbolic reference. The patents say dynamic and symbolic, and Dr. August claims Dalvik's dexopt is doing the thing the patent claims neither dynamically nor symbolically. (If they are right, neither does Java, which means that the Sun patent could well be on something never actually implemented, one of the common travesties of the way software patents are currently done.)

Dr. Mitchell, for Oracle, claims that Google's experts are perverting the meaning of both dynamic and symbolic.

But an awful lot of software engineers agree with Dr. August's analysis, and his use of both terms.

For my part, I have heard computer scientists (generally of the type that don't write low-level code) use dynamic and symbolic in the sense that Dr. Mitchell uses it.

But, again, for my part, if we have to use the semantics that Dr. Mitchell is using, I cannot understand how the patent could have been granted, how these claims could have survived the review. If the patent is interpreted that way, there is absolutely nothing new (novel), original, clever, or in any way, shape, or form, patent-worthy in the claims.

Which makes me think that Oracle's lawyers must have been arguing in the patent office something quite different from what they are arguing in court here.

The difference is an interesting topic, and I will blog about it elsewhere sometime, but the point we have here is that software, like all math, is abstract. Abstract means that there is more than one way to interpret any program or software function, whether written in a high-level restricted dialect of English (as most software patents are done) or in real source code that can be compiled and run on real machines.

Even a real program, instantiated and running on a real system, is still subject to interpretation. Change the icons, and much of the sub-function of a traffic control system looks like sub-functions of a factory control system.

Abstract.

There's a danger when you mix abstract with law. That's why the US Constitution doesn't guarantee freedom or privacy or just about any of the democratic ideals specifically. Even when it talks about family welfare, it does not try to define that, leaving the implementation to the individual states, where there is a better chance of making meaningful laws.

When you bring abstract stuff into the courtroom, lawyers can pretty much twist it whatever way suits them, and you have to rely on the judge being unusually (even for judges) sharp, fair, just, knowledgeable, etc., to protect people from predatory legal practice. The Founders knew that. That's the real reason for the Constitutional injunction against all the former trappings of royalty and royalism. (False royalism, but bringing that up will just confuse things here.)

Well, patents are actually one of the few terms they couldn't quite get rid of. But the Constitution specifies limited time. It also specifies another limit that tends to get washed over quite regularly, these days -- there is no provision for giving people rights to things they didn't create or invent.

(I'd prefer that the sale of copyrights or patents should be illegal, but I'm not prepared to argue that here.)

But it is very clear that a patent should not be expanded in the court of a lawsuit beyond what the patent office recognized as patented. That's happening all the time, these (especially with non-practicing entities "owning" patents), and it's what is happening here. Oracle is trying to use their patents, which they bought from Sun, to exercise control over something no one at either Oracle or Sun ever invented, something that actually predates both companies.

The abstract nature of software makes it particularly susceptible to this kind of expansion.

Okay, I just said the same thing I said above, but it seems it has to be emphasized and said in many ways, before people get the idea.

And this is why software patents are not appropriate. It's far and away too easy for unscrupulous or misguided lawyers to expand the scope of the patent way beyond what it should be.

Sunday, May 6, 2012

Copyrighting SSO (at least in APIs) Sure, you can rename, re-organize, and compile, iff ...

Another post on Groklaw:

If and only if Java had a macro-preprocessor like C, you could define a set of macros that mapped Dalvik APIs to Java APIs. And you could give Dalvik a macro-preprocessor, and write a set of macros to reverse the mapping, from Java APIs to Dalvik.

Of course, that not only fails to answer the question, but it also opens a whole new can of worms.

If you do such macro conversion, the combination of macro-preprocessor and the macro definition files will be just as infringing as the current Dalvik implementation is.

That is, if the jury says 10%, then the conversion macro-preprocessing stuff would have to be 10% infringing. Dalvik itself could be separated from the infringment arguments, but the macro-preprocessing stuff could not be.

But then there is that other can of worms, that I sometimes complain about. Lawyers would notice that the macro wall appears porous to them. They would miss the point of the conversion, and assume that macro-coated Dalvik infringes because Dalvik (even with deliberately different APIs) itself infringes, and pretty soon Oracle's lawyers would come after Ruby, Lua, and any other language more recent than Java, because all such languages can (in theory) be mechanically converted back and forth. One successful conversion, and it's offf to the races.

The reason software and other literature/fine art were supposed to be kept out of the patent pool is precisely this possibility of conversion. When you start abstracting things out to this level, everything becomes everything else. The patent with highest precedence is the dictator of the world, and, I'm not speaking metaphorically, I do mean the Constitutions of all Constitional government be damned.

Why am I suddenly talking about patents? Precisely because the argument about copyrighting APIs destroys the barrier between copyright and patent. Yeah. I mean that if you can claim and enforce copyright on APIs, in a few years some lawyer is going to twist that to the plots of novels, and so it goes.

If and only if we could get the lawyers to forever agree not to try to expand the claims on their patents, we could allow source code to be patented on the condition that changing one variable name must be considered equivalent to changing the shape or composition of one physical component, and that changing the compiler or run-time library would be equivalent to changing the physical implementation framework, and that changing the language would be equivalent to a complete re-implementation of the device in different technology, and completely beyond the claims of the patent. And the entire source code would have to be registered and published, just the same as the blueprints have to be registered in physically implemented patents.

Otherwise, you absolutely will open the door to abstracting away all barriers to frivolous litigation, and it's just a matter of time until the entire economy comes grinding to a halt under the burden.

And, now that you think about it, copyright is always a better fit for software than patents, when you place the proper requirements on software patents. The only real issue is how to protect a combination of software and machine, but even that is going to require a lot more specificity than is currently practiced, because a CPU can be used as a basis for arguments abstracting the patent out of the physical implementation.

Symbols are inherently abstract.

Intellectual Paucity

Oh, the Oracle vs. Google thing and all the would-be Napoleans salivating over the prospect of expanding Intellectual Paucity laws.

(If you can't control the world in an economy of plenty, force an artificial scarcity of something important, right?)

Well, if you think IP is a good thing, here are a few things you need to remember:

(1) You can't own what is in someone else's head.

(I mean, sure, there are people who believe they can, but you and I know that, as soon as their back is turned, we think what we want, whether we were acquiescing to their reality distortion field before or not.)

(2) If you can't control it, you can't own it, and the law can only go so far in controlling something for you.

(Again, you and I both know that you can't afford to hire someone to sit in my shop forever, bringing out a shotgun every time I power up my lathe or start etching a new PC board.)

These are natural laws, as sure as air is hard to confine. Which brings up a third point, a natural law as inexorable as gravity, which you should consider carefully before you decide to excrete in your own gruel by "enforcing" "your" "intellectual property" "rights":

(3) Attempts to defy the two principles above have, in the past, resulted in violence, bloodshed, separation of colonies from their "mother country" (Tea party, anyone?), and the downfall of regimes.

This is the final reason we should tread a little lightly when we want to "monetize" "our" "value" in our "IP" a little more fully, even if we refuse to understand the courtesies creative people offer each other.

Why is it so hard for non-practicing parties (including the several "Artists Associations" and certain "standards organizations" to recognize principles like sharing and standing on the shoulders of giants?

Why is it so hard to understand that you can't squeeze the society around you and escape the squeeze yourself?

Why is it so hard to recognize that, if you want to be free to make money, you have to let others be free to make value -- free, as in, without your interference?

Why is it that everybody seems to want to rule the world?

Saturday, April 21, 2012

APIs and mathematical languages (not an allegory)

(Copying and editing something I posted to groklaw:)

Went in to the other room to make my daughter's bed with this thought ringing in my head:

An API is an abstact language for commanding the abstract machine that is the program. And pretty soon copyrights look like patents and physical machines look like abstract machines, and the bases of property law disappear in a puff of smoke as everything becomes a metaphysical tangle of maths.

But let's fix that.

An automaton is an abstract mathematical machine. Some automata are models of real-world machines. Models of real-world machines vary in the degree to which they match the thing being modeled.

In theory, a really good model could be substituted for the actual real-world machine.

Programs are models of real-world machines and processes. When they work well, they are the poster children of the above principle, that a model can be substituted for the real thing.

(This is probably one of the primary sources of the illusion of software patents -- When we see a programmed model functioning as if it were a real machine, it's hard to that the program itself is an abstract model, and it's hard to understand that the thing which renders it a real machine is the combination of the CPU and the run-time model, oh! Deity, where is the termination condition for the recursion here?)

An abstract mathematical machine is equivalent to a mathematical language. Well, to a language plus the semantic mappings of the elements, by the time we humans finish interpreting the machine.

A mathematical language consists of vocabulary and grammar. (Natural languages differ from mathematical languages in that both vocabulary and grammar are fluid. In mathematical languages, The vocabulary and the grammar are fixed.)

A computer program is (the implementation of) a mathematical language, plus the semantics. This includes both (compilers for) programming languages and the programs written in those languages.

For instance, in the case of a program to add two numbers, the numbers are vocabulary, as is the addition command. The sequences in which the numbers and the command may be entered is the grammar. The semantic of this simple machine is the function of addition, and is somewhat independent of the language itself.

(There is a corollary to the principle of linguistics, that words have no inherent meaning, here.)

The language doesn't care about the output other than that the output shows (recognizes) whether the combination of vocabulary and grammar was valid or not.

In the functional (mathematical) model of this example, the numbers and the addition instruction are inputs, the addition operation, or transform, is (part of) the semantics, and the sum is the output.

An API is a set of inputs and validation rules for those input, with a specification of the expected operation or transform. Ergo, it is an abstract description of the language recognized by the abstract machine (ergo, the model) and its semantics.

In many cases, the API of real programs is not fully rendered in human readable form, thus the expression, "The code is the documentation." (Okay, in most cases, actually.) This is similar to the specifications of a physical machine not usually being fully exhaustive (especially in terms of error, failure, and other exceptional conditions).

We'd usually rather just get on with using the machine, you see.

So, when you dig down this far, you suddenly see all the frayed edges of all sorts of social artifacts, including the legal bases of property, itself. (Oh, nuts. Let's just get real and quote the preacher: "Vanity, vanity, all is vanity, and there is nothing new under the sun.")

The architects of the Constitution and the original laws about patent and copyright understood the above, and that's why there was not supposed to be any intellectual property under the US Constitution. We post-moderns, excited with our actual implementations of maths in machines, have lost sight of the forest for the trees.

Computers! Computers! We have our Computers, and we have no need of any further reality! (And we wonder why it is never really satisfying.)

If we get rid of the boundaries between real property and the somewhat intangible temporary liens on pieces of the market which copyright, patent, and trademark were intended to be, we find ourselves eroding the very principle of law.

And we shortly find ourselves without any protection left against either tyranny or the anarchy which tyranny hides.

(This came together better than it has in the past, I guess I'm going to copy this here and edit it a bit and then try to refine it a bit on my defining computers blog. Not yet for the refining part, though, I have a deadline hanging over me on a "real" job.)

Wednesday, April 11, 2012

pwning pieces of the mind

When we start talking about "intellectual property", we need to make sure that everyone knows what we are talking about.

That means we need to make sure we are not talking in implicit oxymoron, such as when one party to the conversation misunderstands how far property rights can extend.

It is quite possible to temporarily own mindshare, or to be the primary public agent of a meme. That's usually the purpose of modern advertising, unfortunately.

That's not what intellectual property is all about, although some people seem to be confused and thinking in that direction. That's not the only error, but it is one that you should check:

Are you wanting a patent or copyright on something the other guy is not going to be able to get out of his mind?

This is similar to having a patent (in the old sense) on tobacco or coffee or some other pseudo-staple. Or tea. (In case you missed the reference, I'm referring to the Boston Tea Party.)

US-Americans should remember where that kind of commercial behavior leads.

It should be obvious that one cannot own what is in another person's mind in the same way as one can own a home and rent it out to another person.

Sure, you can call the police and take things to court and stuff, but you can't prove that the other guys is thinking the "owned" property, and you can't be sure that he is not. That means you end up hanging real punishments on a person's word.

There is no surer way to pervert a lot of people's intent to be honest than to force them to choose between going to jail and lying about their thoughts. Sure, some serious fanatics would choose jail to declare publicly that their thoughts will not be coerced. Some others might choose jail for the free lunch.

But the population at large will ultimately choose duplicity in such a situation. That means, if you attempt to control thoughts by law, the law works against itself. Unless you are so cynical as to be trying to destroy the law by such tricks, that would be counter to your purpose.

That is one of the fundamental reasons for governments to acknowledge and respect freedom of thought. To do otherwise is to be self-destructive, and governments should not be programming themselves to self-destruct.

So, when we talk about intellectual property, we don't want to talk about thought control, okay? We don't want to talk about it in any hidden way, either.

Intellectual property needs to be re-named. The subject is material that takes intellectual effort to produce, but it is not but it is the effort, not the subject, that is intellectual. A more relevant appellation would be "intangible", but "intangible property" as a term seems to have been rejected. (Possibly because those who want to claim this stuff as property recognize that it would get them far less sympathy.)

Moreover, it is neither the effort nor the product of the effort that is the property. What we call intellectual property is a lien against a piece of the market commons. It is a temporary right to control production and/or distribution of a physical or literary/artistic product, or the trademark under which the production and distribution activities occurs.

As a property, if it can be bought and sold, it would have to be bought and sold in ways similar to stocks and bonds. But it has one huge difference. It has a built-in termination. (There is a reason for that, and it relates to the freedoms issue above, but I don't want to go there in this rant. In another rant, yes, but not this one.)

(Israel apparently had a built-in termination clause on certain kinds of commercial activities. It was called the Jubilee.)

It is not a property, really, it is a lien. A temporary lien. It's supposed to be that way.

Patents, copyrights, trademarks, all these things that are forced under the false rubric of "intellectual property", each one is separate. They can be combined in effect, but they are separate.

What they have in common is a monopoly principle. They are, indeed, monopolies, and that is one of the reason certain people who don't know how to compete on quality and service in a free market want them to own them.

Unlimited monopolies work against every government that grants them. Not just democracies, not just governments that recognize individual freedom, every government. If you give a person an unlimited patent on roads, it won't be long until that person or his successor in interest is holding the roads as ransom against the government, through the public interest, if not directly.

Likewise any staple food, or any food-like product that can be coerced into staple status. A history book with a copyright of too long a term could be made popular enough among educators to be considered indispensable, and then the printer producing that book has a wedge against the public interest.

If a patented memory circuit can be made part of a standard that gets adopted everywhere, it can be used as a weapon against all other memory manufacturers.

If a common term (like "windows" was a common technical term just a couple of decades ago) is allowed to be trademarked, and the trademark rights are allowed to be asserted in broad ways, the owner of the trademark can use the trademark as a wedge and a club against an entire industry, an evil that extends as far as the trademark can be asserted.

And so forth.

So, let's get this straight. "Intellectual property" is a euphemism for monopoly.

Now, do you still want to argue for making them unlimited?