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, April 13, 2013

shakin' the house -- 家を揺らしてくれる

The radio and JMA tell us it was about magnitude 6 over the epicenter in Awaji city, on Awaji Island. Magnitude 5 in the nearby cities, including Osaka, across the bay from Awaji. Kobe, Amagasaki, HImeji and other areas of Hyogo north of the bay, were around 4.

ラジオや気象庁によると震源地の上、淡路島淡路市では震度六、大阪港の向かい側の大阪市では震度5。淡路島のほかのところも震度5。神戸市、尼崎市、姫路市など兵庫の何か所は震度4。

A wall down somewhere in Awaji, and that's about it for damage reports at this point, and the aftershocks are minor. No Tsunami warnings.

淡路市内のどこかで壁が倒れたいがいは被害情報がなさそう。余震も小さくなって行きます。津波警報無し。

We all woke up and got out of bed, and turned on the radio. Then the kids went back to bed and my wife and I got started on the morning chores. 5:33 is time to wake up in this house.

皆起きてラジオで様子を確認したら、子供らが根直している。親二人が朝の用意。この家では5時33分は起きる時間です。

Friday, March 29, 2013

Bragging -- milestone on my asm68c project

Finally had enough time to stare at the screen long enough to fix an outstanding issue on one of my projects.

My 6800/6801 assembler can now handle both the standard

LDAA source

syntax and the

LDA source 

syntax as used in the 6809, which I originally designed it with. (Silly me.)

Now I need to decide whether to add the whole test suite to the Makefile.

Oh! There's a Makefile, too!

Or I could just press ahead on making an emulator or adding 6811 support or doing a 6809 emulator/assembler, or seeing if I can construct a framework in which I can build an IDE for Motorola's current crop of 8-bit processors, or, ...

Or I could get my BIF language running on 64 bit architectures, fix the file interface, ...

Or I could get my RanBunHyou project moving again, add the scrambles, ...

Too many things to do, not enough time to do them all and make a living.

Monday, March 25, 2013

Keeping the kids off the computer in the middle of the night.

Our children have the attitude that using the computer is a right, not a privilege. One seems to think that being denied is cause for outlasting his parents into the middle of the night and logging in while we are asleep.

この家の子供らにしては、特権ではなく、基本的な権利だと、家のコンピュータを使うのを考えているようです。その一人は、ダメだと断られるのは、夜を辛抱して、親が寝ている真夜中にログインする妥当な理由にどうしても思っているようです。

"Fixing" this through technical means is not even a bandaid. It's the wrong thing to do in so many ways. But we need our sleep and this child needs to know some limits.

技術を使って止めるのはとても叶わぬ対処法です。絆創膏治療法と言ってもならん。如何に見ても間違いです。しかし、睡眠が必要なのもあるし、この子は限界を知るべくでもある。

Here's one way to set some limits on Debian -- Use PAM to limit the time certain users can log in.:
デビアン Linux では制限を設定する一つのやり方としては、特定のユーザー号でログイン可能な時間帯を PAM というものを利用して決めるのです。

In the directory
以下の文書配置案内書(ディレクトリ)の

  • /etc/pam.d

are several files where a PAM module called pam_time needs to be enabled:
に、 pam_time という時間関連の PAM上の一単位部品(モジュール)を有効に指定できる文書(ファイル)は幾つか在ります。つまり

  • login
  • su
  • gdm

のそれぞれです。

(There is so much misinformation about this, and so much old information, on the web, it's not at all funny. Since PAM will evolve, this post will get old, and it isn't going to be the same for Fedora or other non-Debian distros, but for now this is how it's done on Squeeze.)
(インターネット網上で調べてみると、もう、まったく面白くないほどの誤情報や賞味期限切れ情報がどっさりと出てくるのを…。まあ、 PAM の進化次第この投稿も賞味期限に着くし、フェドラ Linux などのデビアン以外の配付版では違いますが、現在のスクイーズ版ではこういうやり方です。)

In the files login and su, there are already appropriate lines, commented out:
login 及び su という文書に、注釈化されて無効になっている適切な指定行は既に在ります。つまり

# account    requisite  pam_time.so

の行です。

Remove the hash mark from the head of the line:
ハッシュ記号を行頭から除けば良いです。

account    requisite  pam_time.so

に変えます。

Or, you might want to copy the line and remove the hash mark from the copy so that you remember that it was commented out in the stock version of the files. Or you can leave comments like this:
あるいは、その行の出荷状態はどうなっていたのかを思い出せるようにその行を複製して、複製文からハッシュ記号を抜くのが好いかもわからない。それとも、以下のように自分の注釈文を残すのもいけます。

# Enabled 2013/03/25 JMR

Then, in the file gdm, you need to add a similar line:
続いて、 gdm という文書に似た文を足す必要があります。つまり、

account    required        pam_time.so

という行を

before the line

@include common-auth

という行の前足せば良い。

At least, that's where I added it and it's working for me now. You might want to leave comments here, as well:
とりあえず、ボクがその辺に足して、うまく行っている様です。ここにも注釈が適しているかも知れません。

# Added 2013/03/25 JMR

というコメント行残せばわかるでしょう。

Now you need to restart PAM. I just reboot. Even if you have tools that are supposed to remember (and re-calculate) all the order dependencies for you, by the time you look it all up and get it straight in your head, you could have just rebooted and been done with it long ago.
PAM を再起動させる必要が在ります。ボクにしては単純にシステム全体を再起動します。例え、それぞれの順番と依存関係を纏めて、必要によって再計算してくれる道具が在ったとしても、その命令と使用法を調べて全部を理解して適用でる間に、もうはるか以前にシステムの再起動が終わって新しい指定が効いているのです。

The above lines are necessary to tell PAM (Pluggable Authentication Modules) that it can read the following file:
以上の指定文があって、付け替え可能・認証機能・単品群 PAM に次の

/etc/security/time.conf

and accept the rules it finds there.
という文書を読んでその中の指定文を適用するようになっています。

This file is where you finally add the rule that blocks the login accounts they use during the hours they are supposed to be sleeping. If user1, user2, and user3 are the user ids under which they log in, and the banned time is from 11:00 pm to 5:00 am, 
やっと、子供らが使ってログインしている帳簿(アカウント)を寝ているはずの時間帯に無効にする指定文を、このファイルに足すと効力が有って差し止めることができます。たとえ、ログインしているユーザーイッドは、 user1, user2, 及び user3 になっているとして、禁止の時間帯が午後11時から午前5時までであると

*;*;user1|user2|user3;!Al2300-0500

should do the trick.
という指定でいけるはずです。


But test it first with 
ただ、先に試験した方が良いでしょう。

*;*;user1|user2|user3;!Al0000-2400

and make sure it blocks only these user ids.
の指定でこのユーザーイッドだけを差し止めるのを確認します。

Check the messages in /var/log/auth.log and /var/log/daemon.log, too, after trying to log in. You can use ls and tail:
ログインを試みてから、 /var/log/auth.log内や、 /var/log/daemon.log内のメッセージをも見ておくのをおすすめします。以下のように、 lstail の命令は使えます。

sudo ls -lart /var/log
sudo tail -40 /var/log/auth.log
sudo tail -40 /var/log/daemon.log

Then change the time range to the range you think you should ban, 24 hour clock, military style. Make sure you check the logs again.
確認の上、禁止すると思った時間帯に変更する。指定法は24時間型です。以上のログ記録を最後にもう一度診たほうがいいでしょう。

Mind you, if you have to resort to this kind of thing to discipline your kids, you're going to have to use strong passwords, and keep the passwords where the kids won't find them. But you should be using good passwords anyway, since weak passwords can often be guessed by people out there trying to log in to your computer through the internet.
ちなみに、以上のような手を使った子供らのしつけを図る必要が在るなら、堅固なパスワードを使うしかないのです。そして見つからないところにパスワードを保管しないといけないのです。ただし、単純過ぎるパスワードを、常にインターネット軽油あなたのコンピュータにログインしようと試みている連中はすぐに推測できるので、子供らに対しての対策が不必要だったとしても、パスワードは堅固で在るべき。(パスワードの話のリンク先のページに日本語訳を混ぜたいけど、これを書いている現時点はそこまでの余裕がない。ごめんなさい。)

Hiding your passwords in plain sight is a topic for another rant, but I have to go.
パスワードをみんなの見えるところに隠すことこそ話題になるのです。またいつか。只今は別の仕事が待っている。

Friday, March 22, 2013

bc on MSWindows

Now that you have MinGW installed and running on your PC, it's time to install bc.

bc? basic calculator.

I've mentioned bc before. It's a great little basic calculator for *nix systems. Programmable. Quite literally all the precision you could ever want, if you want it.

If you remember using the old BASIC language interpreters as a substitute for a desktop calculator, and don't like having to open up a spreadsheet document just to check your math on something, bc may be what you're looking for.

bc is one of the packages available for cygwin distribution, so the following is not by any means the only way to get it onto your MSWindows PC. But you can use MinGW to install it, here is how.

bc is not an official package of MinGW, so this is a good way to practice compiling and installing free software by hand.

First, find the source code. As I type this, the wikipedia pages have a link to the source code (alpha, too) on the gnu servers. (The pages also have a link to the bc package from the separate GnuWin32 project on SourceForge, but then you wouldn't get the practice.) (Surprisingly, searching at google for "bc basic calculator source code" did not yield the gnu repositories on the first pages. It did bring us back to the wikipedia pages, so it got close.)

So, download the source code from the gnu servers. (Not the alpha version, I haven't yet figured out how to get that to compile and run on MinGW. Unless you're good at debugging these, in which case, please leave some suggestions in the comments.)

You get a tarball, which stock MSWindows does not know how to deal with. But that's okay, because MinGW should have the tar utility installed with it. (If you type "tar" at the msys shell command line and it says it doesn't understand, check the packages and install the appropriate package with "mingw-get install". But mingw-get isn't going to work without tar, so I guess that should never happen.)

Save or copy the tarball into your user's home directory:

c:/MinGW/msys/1.0/home/username

If you don't already have an msys shell running, go to the MinGW folder in the Start menu and get an msys shell running. (Not the uninstall icon, of course.) Enter the following commands at the prompt:

tar -zxvf bc-1.06.tar.gz
ls bc*

(tar didn't used to accept leading hyphen on the options, now it does.) The directory list should show that the tarball has been unpacked. Move into the bc-1.06 directory that tar just made and tell the configuration script to tell you what it can do:

cd bc-1.06
./configure --help
You probably want to add the readline option or the bsd version of it. (Don't need both.) If you plan, for some reason, on cloning your installation and distributing it to others, use the bsd version to keep yourself in conformance with the license. (I assume you are not going to cloning your installation tree, but I'll remind you just in case.) Here's how to configure it with the bsd version of line editing:

./configure --with-libedit

This will take a few minutes and tell you lots of things you may not really understand. Scan the output but don't worry about the stuff you don't understand unless it says "ERROR!" and stops. Warnings, you don't need to worry about just yet, either. Sort of.

When the prompt returns to you, unless there have been errors, you can make the executable:

make

Make handles the compiler commands for you. Are you let down? Don't be. Look back at the compiler output. ("make clean; make" again if you've lost the output.) You'll see some key warnings. The ones about memset and related functions are not that important, but you can edit lib/number.c (the file number.c in the directory lib) and add the line

#include <string.h>

at the end of the other include lines to get rid of that.

Make it again. (You may want to do a "make clean" just to be sure.) Test the results by typing the command

bc/bc

Once you get the copyright message so you know you are in the bc shell, type

scale = 100
17/11

You should see 1.5454 ... stretching out for 100 places. Now type

exit

to get back the the msys shell and type

bc/bc -l

to start bc with the math library. This is where things get good. Except you have to fix something first. In bc, type

4 * a(1)

That's 4 times the arctangent of 1. It should type the value of pi out to twenty places. (The last digit will be incorrect.)

3.14159265358979323844

But it probably won't.

Until somebody at gnu.org decides to update the package, it will probably complain about segmentation faults and the like. I looked on the web for "bc segmentation fault string.h save_adr" or something like that and found an archived mailing list thread and a patch from the linux-from-scratch project.

If you wanted to practice applying patches you could have applied it before you added the line to #include string.h. If you really want to practice, rename this directory, unpack the tarball again, and apply the patch there.

But it's easy enough to do by hand. Open bc/load.c (the file "load.c" in the directory "bc") in your text editor, and look around line 159. You'll find the line

program_counter save_adr;

On that line, save_adr needs to be declared static. Change it to

static program_counter save_adr;

and save it. Run make again, and repeat the tests. Just for fun, try this:

scale = 1000
4 * a(1)

That should give you pi to a thousand places (the last digit being incorrect again).

Way cool, huh? Now you need to make bc more generally accessible, so you don't have to type the whole path all the time.

make install

and bc is now available as just "bc". (dc is also fun to play with.) After you install it, the manual pages should be available, so you can type

man bc

to get more information about the cool things you can do with it. You can also look in the Examples directory for ideas.

I'll be using bc in some of my posts to the math-and-English blog, too.

Free C on MSWindows -- MinGW

I do a lot of my programming work in C. That tends to make it inaccessible to many most of the people I associate with in the real world. (Ergo, most of the people in my network.)

Which is frustrating. But there's something that might help (a little).

I'd known about MinGW and CygWin for quite a while, but it was only recently that I tried MinGW to solve one of the problems I have trying to help the PC club at the school where I have taught for the last five years.

C is about the most essential tool in programming. Absolutely fundamental.

But it is hard to get system administrators to let you put a compiler on your workstation, if your job does not require it. Compilers cost money, but that's not the problem. The Intel processors and the MSWindows OS still do not properly protect the system from the adventuresome user, and compilers allow the adventuresome user to go adventuring in the system.

C is especially dangerous because of pointers.

Anyway, C is scary. So sysadmins don't help you get it. In fact, they may scream if you follow these instructions on your work PC. But C is important if you want the freedom to use your tools well, and if you want to teach the fundamentals of computer science in a relevant way.

Anyway, this is something you can do at home on you own PC. And it may help at work if there is a way to get the system admins to allow its installation.

MinGW is small. You can download quickly, or carry it around on USB media, and install it quickly. You can even run it from USB media. The footprint is minimal, so it doesn't leave much behind. Especially, it leaves very little at all behind when MSWindows OS systems are set up to restore the system configuration to the official state at boot-up.

So, it provides one potential solution to one part of the problems faced when trying to teach the kids in the computer club how to really use computers. It also may allow me to distribute tools I build for teaching that I write in C. (I plan to write more on that on my Math and English blog.)

(The other big problem is the students' interest. You can't force interest in programming, and trying to make it artificially more interesting than the latest youtube video or free on-line game tends to teach them the bait, not the real reward. Solving this problem just requires patience and creativity and time spent getting to know the students.)

Getting MinGW installed is actually pretty straightforward. The project hosts their distribution on SourceForge, at http://sourceforge.net/projects/mingw/ (But you really want to check the link on MinGW's pages, of course.)

Hosting on SourceForge gives a project's potential users some level of confidence that the project is not bait for installing malware, but, ultimately, you have to judge the danger factors for yourself.

They have a GUI installer, so you can download that. It's small, so it doesn't take long to download, and it manages the rest of the download for you. The rest of the download does take about ten minutes to a half an hour if your computer reasonably new (last five years) and your internet connection is reasonably fast (1 Mb or better).

(Click the information button (i in a circle) on the files page in the sourceforge project to show the checksums, if you plan to check those.

There's a chicken-and-egg problem with getting software to check the checksums. I suppose I should do a write-up on gnupg, too, to show how to start the bootstrap of trust at a different site.)

If you click the download button, you get an executable, so you don't have to unzip it. If you want to check the checksum, you should do that before you launch the executable the first time, of course.

The installer has the usual stuff explaining what it does, and asking if you really want to install. Read it. If you are not familiar with the GPL license, go to the license pages on gnu.org and get yourself comfortable with the license terms.

If you have questions about the license, more reading is available at the Electronic Frontier Foundation and the Free Software Foundation.

Check the certificate. It something looks funny, ask someone. MinGW has a mailing list. (If you ask me here, I'll try to respond, but no guarantees that I'll get back to you very soon.)

If you don't feel comfortable, take your time. Back out of the installer. Think about it. Wait for someone on the mailing lists to respond. Patience is part of the cost of freedom.

If you decide you are ready, proceed to the dialog about which components to install and where. Leave the place (path) to install to as it is, unless you really know you want it somewhere else. (If you know such things, you aren't bothering to read this, now, are you?)

You want C, of course. You probably want C++ too, unless you know you don't. Select both.

Unless you know you don't need msys, you need it. Select it.

The MinGW developer toolkit is likely to be useful, too, and doesn't take that much time or space, I'd suggest getting it, too. If you want to compile anything big you will need it. Yes. Select it.

Ada, Fortran, Objective C? Select them if you think you might want them and can stand five to twenty more minutes of download/install time. You can get them later with the mingw-get command-line package tool. (Which I describe a bit below.)

Hit the proceed button and wait. At the end, it asks if you want the shortcuts installed. You probably want at least the one in your "Start Menu". Check that.

Click finish.

There is some talk in the documents about modifying your system path in the control panel. Unless you know you need to, don't. Sure, it's fun to run a C compile from the MS-shell command prompt, but you don't need to do that right now.

Once you have it installed, you can go to the Start menu and find MinGW, and start up a MinGW shell. (You did select msys, didn't you?)

You can type in your helloworld.c program using MSWindows's own Notepad text editor accessory, or you can use vim (You did install the developer tools, didn't you?). Well, okay, if you are still reading this blog instead of playing with exploring MinGW, you probably want to type in your first program with Notepad, not vim, but finding where to save it is a bit tricky.

If you left the install path as the installer suggested, your msys shell's home directory for you is at

c:/MinGW/msys/1.0/home/username  

(The version may progress from 1.0 sometime. The username will be your MSWIndows login user name.) That's where you should save your first program. (Oh, and get used to the slashes. MSWindows will show them as it does, yen sign in Japan, backslashes in the US. msys will show the path name separator as Unix would, with a forward slash.)

Not sure what program to type in for your beachhead program? Here's a variation on the typical helloworld.c program:

#include <stdio.h>
#include <stdlib.h>


int main( int argc, char * argv[] )
{
 
  printf( "The compiler is working.\n" );
   printf( "1 + 1 = %d\n", 1 + 1 );
   return EXIT_SUCCESS;
}


Save it under your home directory, as something like "testing.c".

Then go to your msys shell and type in

ls

and hit enter. It should show the name you saved the source under in the file listing. Now assuming you saved it as "testing.c", type

cc -o testing -Wall testing.c

If the compiler gives you warnings and errors, check what you typed. If the compiler says nothing, it worked. Check the results by typing "ls" and hitting enter again. You should see the executable object, testing.exe, along with the source file. Now try running it:

./testing

If it prints out what the source would lead you to expect it to, you have a functioning C compiler. Cool enough, hey?

Now, about the mingw-get command. Let's get a list of components. type:

mingw-get list

(I don't know the difference between list and show yet.) That scrolls by too fast to get a good look at. Try this, instead:

mingw-get list | less

You can hit the enter key or the spacebar to scroll through the output. If that's still too much trouble, or if less somehow didn't get installed, try this:

mingw-get list > packagelist.txt

and open packagelist.txt with Notepad or vim. That allows you to look at the packages available.

You can get manual pages for installed packages by doing "mingw-get install" on the package from the command line. After the download, it will complain that the package is installed, and then it will proceed to install the manual pages. Which is just what you want.

If less or man or something else important didn't get installed, or if you need man pages, scan through the packagelist.txt file I just told you to create, find the package name for it, and mingw-get install it.:

mingw-get install msys-less

for instance, will install less if it hasn't been installed, and it will install the man pages for less either way.

And, of course, there's the help option, to find out what else you can do with mingw-get:

mingw-get --help

That should get you started with MinGW.

You can also compile and maybe install software you pick up elsewhere, of course. My asm68c and bif-c projects compile okay, but they seem to have some issues in addition to the bugs I'm already trying to make time to fix.

Especially, you can compile and install the *nix basic calculators in the bc package.

bc is way cool.

Wednesday, March 20, 2013

Putting people in jail for our own misunderstanding.

I should be writing a post on my math and English blog about simple series. Or exercising.

I'm thinking about weev.

Being put in jail for a non-crime under one of the many laws that turns the US national laws into a mockery of law.

And the CFAA. 

How can you respect law when laws like this exist?

Well, okay, specific laws that can't be respected have existed forever. Or, at least, ever since humans started trying to codify law.

Respect for law requires not getting your internal systems tangled up about specific laws that cannot be respected.

Analogy time: Grammar.

People do not speak according to rules of grammar. Grammar exists as our collective attempts to explain how people speak. Explaining how people speak is not, in and of itself, necessary, but grammar is very useful when you try to figure out what people have put in writing, when they aren't around to explain it themselves. (Well, putting in writing includes audio tracks in this modern world.)

Grammar also helps you dig into your own deeper motivations, when you look at something you said or wrote and wonder why?

Tying the analogy to the thought people do not behave according to the laws that people write down. Legislated law exists as an attempt to help us understand, post-facto, how society should respond to what people do. You can't tell whether any particular act will be good or bad until after the act is done. (Often, well after.) That's why the US Constitution is supposed to prevent laws that would make it possible to charge people with crimes they haven't yet committed.

Supposed to. But that is not directly the topic of this rant.

Bad law exists. It always will, as long as humans write law.

We don't want to just turn a blind eye to bad law, but we also don't want the existence of bad law turn us against law-in-general.

I have lots of friends like weev, people who live significant parts of their lives in deliberate contradiction to the written law. If we put all of them in jail, I would be awfully lonely out here.

Yeah, I mean, from the odds I calculate, if we send to jail all the people who have deliberately done things as bad as what weev has just been sentenced for, there would be more people in jail than not.

Examine yourself and ask, have you ever put unknown persons at risk for deliberately breaking a "minor" law, or a law that "should not be a law"?

Putting people at risk is not the question here, the law, and your attitude is the question. The risk is the reason for the question.

If weev should go to jail for the part he played, so should the engineers who designed the database he casually walked into.

Hmm. Put scare quotes on that: "engineers" so-called.

No. Let's not judge them until we can judge their managers. Chances are that management at AT&T played a significant part in putting that travesty of a database live on the web.

They broke laws. Deliberately. For profit, or, at least, to avoid losing the profits somebody in the company had irresponsibly projected. Yeah, we pull the thread and it connects, well, everywhere. Bean-counters who push bad projections, anyone?

But weev is the arrogant one, the one who sticks out. I'd talk about the old ritual of scapegoats, but that would cloud the issues.

The problem is that we misunderstand computers.

Computers are not magic boxes that, if we can figure out the right incantation, will somehow magically fix all of our problems.

Computers consist of three things:

Memory is just fancy paper that can be indexed, and can be re-written (written and erased and written again) at will, at high speed.

The cpu is just the fancy pen that writes and re-writes. And it can calculate. And it can be directed where to write or re-write next. And it is fast.

There are specific features, but there is no magic.

(If there is magic, it is in what we do with them, but that's beside the point.)

We can do good or evil with computers, just like any other tool at our disposal, if we will take the responsibility to learn the tools.

Think about this. If you saw a battered notebook sitting on the sidewalk outside some company's store, what do you do? You probably ignore it. But someone you know might pick it up and notice it belongs to the store. Then what?

There are principles of courtesy that weev ignored. Courtesy is not supposed to be law. When courtesy becomes the law, it ceases to be courtesy. That takes all the meaning out of courtesy, and never fails to codify stuff that ends up out of context, and wrong.

And, had weev followed all the principles of courtesy that have (not yet) been (properly) established, the current record is that he still would have been charged with doing something illegal.

Some people say weev is just grandstanding, just trying to get attention. I could not argue with that, I'm not sure weev himself would argue with it. Is grandstanding such a crime? Is it worth burdening society with four years of keeping him well fed and away from "computers", away from the rest of society out here?

Wherever "out here" is.


Wednesday, January 2, 2013

Mint LInux on flash SD (and Debian)

Meant to blog about getting Debian stable (squeeze -- see Toy Story) installed on my main box.

32 bit CPU and Adobe's rush to the 64 bit future that is not means that I don't have current flash there, which is disappointing for the kids. Some of their youtube  no longer works.

(I keep having to remind them that sites linked to from youtube are not guaranteed safe from malware and worse, but most of those sites are among those that no longer work.)

gnash works on some stuff. Iceweasel is way behind. Slashdot's ads sometimes kills it. Google's chrome works fine. The Gimp is great. Libre Office needs one to load extra fonts for the Japanese, but that's true in any distro.

Stable meaning a bit old is okay. Not really stale yet.

While messing around with the Fedora security spin on my netbook, I tried Mint on an SD card. It drags just a little, but nothing like Fedora on a USB (usb2.0, don't have or want usb3.0).

Let me repeat that. In bold:

Linux Mint is useable on a netbook (64bit) from an SD flash card.

[Update:]

But it contains Mono stuff. Tomboy and Banshee. And the Mate desktop has MS-Common-Language-Infrastructure libraries instead of the untainted versions. 

Darn.

Haven't found gold yet.

[End-update]

You can surf, in real time, use libre office, etc. In a live CD size image.

Here's how I got it onto the SD card. (/dev/sdb is where the card ended up. If you try this, remember to make sure you understand the dd and mount and umount commands before you start. Make sure you know where the card gets assigned under the device tree, because it may not be at /dev/sdb .)

cd /home/sharing/imageheap 
# or wherever you keep the downloaded images
umount /dev/sdb1 
sudo dd if=linuxmint-13-cinnamon-dvd-nocodecs-64bit.iso of=/dev/sdb

The if and the of should be on the same line as the sudo dd, of course.

And, yeah, I did mean /dev/sdb there. The whole card, not the first partition.

Well, there are lots of stories out on the web about flash media for live stuff. Each manufacturer takes different shortcuts. Both with the flash devices and in the BIOS of the machine.)

Some people recommend partitioning the flash drive, but you have to already have tools and a pretty high-level of knowledge to get that to work.

Keeping it in a single partition seems to work best when you don't have the tools or knowledge.

Some people find dd-ing the image to the first partition (sdb1 in my case) to work best, but that didn't work for me. My notebook didn't like the MBR (or absence thereof) mixed with the ISO9960 image.

Fedora's live USB tool didn't work for Mint. Not surprising, since they play with the MBR.

Maya. Don't have time to try all the options, like playing with Nadia instead of Maya. Going to get Mint-Debian into a spare partition on the main box to play with that. But Mint may be what I want to replace my sister's now ancient iBook G4 with.

(Wish I had time to play with building Mint on PPC. Wish my own iBook G4 hadn't died after being dropped too many times. Wish I had the money to replace my shoulder bag before the strap breaks.)

(Woops. s/play/study/ above.)