Wednesday, August 21, 2019

Apotropaic marks and whiteboards

Before I became a 7th-grade math teacher, I had an opportunity to test the waters of public education, by helping to teach an oversized 9th-grade math class. It was a great experience.

If I recall correctly, this class had three girls, not related to each other, named Aylee, Hailey, and Kaylee. I performed additional duties by tutoring one of them after hours. It might have been Aylee, but I can't remember any more.

This girl had a touch of either ADD or OCD, which made it hard for her to concentrate if there were any distractions. That's why she needed one-on-one tutoring. During our tutoring sessions, I would often stand at a whiteboard, marker in hand, explaining mathematical concepts. I had to erase the whiteboard regularly.

The first few times I erased the board, I would commence teaching the next concept, to be interrupted by the sounds of distressed grunting, almost squealing, from Aylee.

I would stop, look at her, and ask, "What?"

She would point to the board and splutter, "That mark! That mark!"

I would look at the board, see a tiny spot that I'd missed, and ask, "What about it?"

"Erase it! Make it go away!"

She could not do anything until the board was completely, perfectly, erased and clean.

So I learned to wipe the board and make it perfectly clean, because naturally I wanted to create an environment in which she could learn better. That's the kind of teacher I am. Was. Whatever.

But after a few sessions, I would wipe the board and make it perfectly clean, then pick up a marker and make a little, tiny, tick mark on the board, before saying "Now, then, ..." just to needle her. It worked every time.

I'm such a meany.
Yep. Just like this.

Thursday, August 15, 2019

Arduino Project One: Revived - and another detour into 3D printing

The last installment in the story of my Arduino-controlled garage door opener was in November 2017, almost two years ago. The project stalled, not for any reasons of its own, but because of the distractions of everyday life. Now I can finally get back to it.

I may have changed the hardware, switching from an Arduino to a Raspberry Pi. I have good reasons for that, which I'll tell you in a later post. Today, I want to revisit the subject of 3D modeling software.

You will recall that in my previous article about 3D CAD, I mentioned SolidWorks, Tinkercad, SketchUp, Wings 3D, and Microsoft 3D Builder. I haven't tried SolidWorks, because it costs money and I'm cheap. I tried the other four alternatives, and all of them had serious shortcomings. Tinkercad and 3D Builder were so inadequate that I couldn't even take them seriously. Wings 3D is very powerful, but it has a painful and steep learning curve, and all I want to do is design and 3D-print a small enclosure for my project. SketchUp has the power I need, but some of the features I really want to access are hidden behind a paywall.

So, back to the (ahem) drawing board I went. This time, I found just what I was looking for.

(Yet another detour: I've gotten so used to the Linux command line, that I do a lot of graphics work directly in text files. I mean, I write web pages in raw HTML/Javascript/MarkDown/other stuff. I write formatted and typesetted technical documents in LaTeX. For business and technical graphics, I use GraphViz. I use the command-line version of ImageMagick to manipulate existing images. 

And back in the Good Old Days, I used to use the DOS version of WordPerfect with "Reveal Codes" turned on, and I would edit the codes manually. Also back in the good old days, before WISYWIG editors, and before I learned LaTeX, I used to use troff and Interleaf LISP to create typesetted documents. Oh yeah, and I used to write raw HPGL and Logo to do vector graphics - you know, line drawings. Stone knives and bearskins. Old man's voice: "And we liked it! *ptui*")

All of that, just to say that I'm very comfortable with manipulating text-based input to produce graphical output. So I happened across a beautiful little 3D CAD program called OpenSCAD

An OpenSCAD screenshot
Another OpenSCAD screenshot, showing the three panes

OpenSCAD doesn't look like much. It has a window with three panes. On the left is the Editor, where you write the text that defines your part: "Put a cube here. Put a cylinder there. Drill a hole in the cylinder." In the center is the Viewer, where you can see your creation from different angles and at different distances. On the right is the Customizer, a neat little thing you can use to modify your design on the fly without having to rewrite the text in the Editor window.

Creating a model in OpenSCAD is like writing a program. If you've used modern scripting languages like Python or JavaScript, it will feel familiar to you. Pressing F5 or F6 to draw your design is like compiling a program. If you've used compiled languages like C or C++, this will also feel familiar to you. And if you get the programming wrong, OpenSCAD will give you an error message and point you to the line where the error was detected. If you've ever done any programming in your life, I'm certain that this will feel familiar to you.

One of the things that I like best about OpenSCAD is that you can minimize the Editor and Customizer panes, leaving just the Viewer pane, and do your editing in your own favorite editor, in a separate window. Being a Vim fan, I open a terminal window and bang away in Vim. Every time I save the file, OpenSCAD detects that the file has changed, and it computes and displays the new object.

OpenSCAD in use. That's my GVIM editor on the left.
(I'll tell you about the hardware in the enclosure in a later post.)
OpenSCAD can export shapes in a variety of file formats, the most important of which is STL (short for stereolithography, a fancy word for "3D printing"), the format preferred by 3D printing services. Cura LE, from Lulzbot, takes an STL file and converts it into the "slices" required by a 3D printer.

Cura LE (Lulzbot Edition)

Now, here's a new player in the game: FreeCAD. One OpenSCAD user reported that OpenSCAD can occasionally mess up an STL file, and the model will not render properly in Cura. He suggests using FreeCAD as an intermediary between OpenSCAD and Cura.

FreeCAD is a relative newcomer to the 3D design world. It's actually been around since 2002, but it didn't become a serious contender until Release 0.14, in 2014. Even today, at Release 0.18, its makers warn that it's still not ready for prime time, but it's a very good parametric 3D modeling package.

FreeCAD screenshot

(Very technical aside: FreeCAD uses the parametric 3D design paradigm, while OpenSCAD uses the constructive solid geometry (CSG) paradigm. I barely know what those words mean, but I do know that my brain wraps more easily around CSG than parametric design. You may feel differently, and if you do, then you should skip OpenSCAD and use FreeCAD directly. I'm serious.)

So my design path now goes like this:
1. Design the thing using OpenSCAD.
2. Import the SCAD file into FreeCAD, and export it as an STL file.
3. Open the STL file in Cura LE and prepare it for printing.

It works for me. And the price is right. 

If I weren't so cheap, I could spend real money and get one piece of software that does it all for me. But if I had that much money, I'd also buy my own 3D printer. And a OneWheel.

Postscript: Are you wishing I had included a weblink for something that I mentioned? Like SketchUp? Or ImageMagick? Some of these items have links in my previous post on this subject. For the others, you'll have to do a Web search. I'm sorry. I got tired of typing.

To read the other postings about this project, click here and scroll to the end.

DraftSight is no longer free

Remember when I wrote that article about DraftSight, and I was excited because it was an AutoCAD clone, but it was free? And remember when I wrote some follow-up articles uncovering all of DraftSight's hidden 3D design features, even though Dassault Systèmes told the world that it was just 2D drafting software? Well, DraftSight has grown up.

DraftSight 2018 is the last free version of DraftSight. Starting with DraftSight 2019, all future versions will cost money. Not only that, but all pre-2019 versions of DraftSight will stop working, or "cease to run", as the announcement says, after December 31, 2018.

Click here for the official announcement.

Dassault Systèmes are, of course, perfectly justified in charging money for DS. DS is professional-quality software, that's for sure. It was written by hired engineers in a for-profit company, and they deserve to make a profit on it. Not only that, but DS 2019 now officially includes a full complement of 3D design tools; it's billed as "a 2D drafting and 3D design experience."

And, considering the prices of comparable software, DS 2019 may still be a bargain, compared to the competition:

  • $100/yr for the Standard version, 2D only, for hobbyists, students and teachers.
  • $200/yr for the Professional version, still 2D only.
  • $500/yr for the Premium version, which includes the 3D tools.
Are there free alternatives? Well, sure, all of the AutoCAD clones that existed before DraftSight are still there. But the state of the art has progressed since DraftSight was first released in 2011. Now, designers are doing 3D CAD and then converting their creations into data files for 3D printing, CNC milling, and other automated manufacturing processes. But there's still a need for the 2D drawings, and so the higher-quality 3D CAD packages (the ones that cost money) can also generate the 2D drawings from the 3D models.

Next, I'm going to tell you about the new CAD solution that I'm going to use.

Friday, August 2, 2019

In case anybody thinks I consider the Harry Potter movies inferior to the books

In case anybody thinks I consider the Harry Potter movies inferior to the books:

Um ...

Okay, but only a little tiny bit. Read on ...

J. K. Rowling actively participated in all of the movies. They are true to her original vision. They launched the careers of many successful actors and actresses, and boosted the careers of many other people in the movie industry. The movies are, in one word, masterpieces.

There's absolutely nothing wrong with the movies. I LOVE THEM. The sets, the graphics, the special effects, are amazing. The acting, the directing, the music, the props -- all of it is fantastic. Maybe even magical.

Most of the time, the movie dialogue is word for word from the books. And in some instances, the more memorable lines come from the movies, not the books. The storyline in the movies is as captivating as in the books.

There's just one little thing, and I'm at a loss to explain it. I consider it a personal failing. It's this: I can stay up reading the Harry Potter books until 3:30 in the morning. But I fall asleep in the middle of the Harry Potter movies.

Every. Single Time.

Tuesday, July 30, 2019

Names in the Harry Potter world

PREFACE: This is something I've wanted to do for a long time. I'm sure it's better documented elsewhere on the Internet, but this is the result of my journey of discovery in Harry Potter's world. I'll add to the list as time goes on.

J. K. Rowling chose the names, or the proper nouns, in her Harry Potter books very carefully. Some names are inside jokes, some give you additional information about the characters, and some are simply clever plays on words.

If the entire world hadn't already read the books or watched the movies a million times already, I would tag this blog entry with a "SPOILER ALERT!" warning, but you're all way past that. I hope.

  • Hogwarts: This one's easy. Reverse the syllables and you get "warthog". Hakuna matata, eh?
  • Dumbledore: My understanding is that this is an old English synonym for "bumblebee".
  • Malfoy: From the French mal foi, meaning "bad faith". The idiom has the same meaning in French as it does in English, and is a suitable name for a sleazy, conniving family who isn't loyal to anything except itself.
  • Longbottom: A compound word that conjures up a funny picture in American English. I believe it has a geographical meaning in British English, but I'm not sure.
  • Lovegood: Also an interesting compound word. It reminds me of the Greek name Theophilus and the Latin name Amadeus, both of which mean "love God" — as in "one who loves God". Lovegood could mean "one who loves good" or "one who loves God". 
  • Xenophilius: Xenophilius Lovegood is Luna's father. Xeno means "strange", so Xenophilius could mean "one who loves strange things."
  • Lily and Petunia Evans: Harry's mother and her sister were both named after flowers.
  • It's interesting that none of Harry's other close friends, nor Harry himself, have distinctive first or last names. I mean, "Weasley" is a funny name, but it's not descriptive of the family's facial features or other characteristics.
  • Diagon Alley: "diagonally", obviously.
  • Knockturn Alley: "nocturnally". Not quite as obvious.
  • Grimmauld Place: It's a "grim old place".
  • Knight Bus: It doesn't run during the day.
  • Pensieve: a respelling of "pensive". Both have to do with thoughts.
  • Floo: a respelling of "flue", the pipe that takes smoke away from a fireplace or stove.
  • Voldemort: In the second book, "Tom Marvolo Riddle" is revealed to be an anagram for "I am Lord Voldemort" (or the other way around). The French vol de mort means "flight of death" or "flight from death", both of which are appropriate for the character.
  • Slytherin: How does a snake move? It slithers. Duh.
  • Remus Lupin: This was a good one. Romulus and Remus were the twin babies, raised by a she-wolf, who went on to found the city of Rome and the entire Roman empire. And lupus is Latin for "wolf". Get it?
  • Professor Sprout: She teaches Herbology. Insert cute little giggle here. 
  • Sybill Trelawney: A one-ell sybil or sibyl was an oracle or prophetess in ancient Greece. Good name for a fortune-telling teacher.
  • Libatius Borage: The author of the sixth-year textbook Advanced Potion-Making. "Libatius" comes from the same root as "libation," a fancy word for a drink. "Borage" is a real word, meaning "a herbaceous plant with bright blue flowers and hairy leaves, used medicinally and as a salad green" — in other words, a likely ingredient for a potion.
  • Beauxbatons: The French beaux batons means "beautiful sticks" or, colloquially, "beautiful wands". Everybody knows this, right?
  • Durmstrang: This is a fun one. It's a twist on the German phrase sturm und drang, literally "storm and stress" and referring to an artistic genre that emphasized violent emotions, often leading to violent, unrestrained action. Remember the noise, the tension, and the danger of the Triwizard Tournament? That's one manifestation of sturm und drang.
  • Fleur Delacour: The French fleur de la coeur means "flower of the heart". That's a pretty good name for a veela whose mere appearance causes men to fall in love with her.
  • Madame Maxime: This is French for "maxim", which doesn't really work, but it might be a shortened form of maximum, which means the same in French and English. "I 'ave nevair been more insulted in my life! 'Alf-giant? Moi? I 'ave — I 'ave big bones!" Right. "The only thing that's got bigger bones than her is a dinosaur," says Ron. Her first name, Olympe, translates to Olympia and refers to Mount Olympus, the home of the ancient Greek gods.
  • Sirius Black: This was also a good one. Sirius, the brightest star in the night sky, is known as "the Dog Star" and is part of the constellation Canis Major, or Great Dog. In his animal form, Sirius was a big, black dog.
  • The ancient and noble house of Black: This is one of the few wizarding families for whom we have an extensive genealogy. Many, if not all, of the family members are named after a celestial object: a star, a nebula, a constellation. Here are a few: Sirius, Bellatrix, Andromeda, Regulus, Arcturus, Orion, Draco, Scorpius.
  • I haven't found Narcissa in the night sky; however, the male name Narcissus belongs to a figure in Greek mythology who was so self-centered that it killed him, and his name and character are preserved in the modern term narcissist.
  • I haven't found a celestial source for the excellent wizarding name Nymphadora either.
  • Phineas Nigellus Black: Sirius' great-great-great-grandfather, former Hogwarts Headmaster, and the founder of the ancient and noble house of Black. "Nigellus" is a very old English word for "black".
  • Kreacher: Say it out loud. Now say "creature" out loud. Clever, no?
  • Dolores Umbridge: Dolores is a Spanish name, and is the plural of dolor, meaning "sorrow" or "pain". And "Umbridge", like "Kreacher" is a respelling of another English word, umbrage in this case. Umbrage has an appropriate double meaning: first, "extreme resentment caused by an insult or slight", and second, "comparative darkness that results from the blocking of light rays". It's a great name for such an evil woman. She's one of the people Dumbledore was referring to when he told Harry, "The world isn't split into good people and Death Eaters".
  • Sanguini: an Italian vampire. Blood! Blood! Blood!
  • Fenrir Greyback: Fenrir is the name of "a monstrous wolf in Norse mythology", according to Wikipedia. And Greyback sounds like the perfect surname for a wolf, doesn't it?

Not knowing colloquial British English at all, I'm sure I've missed several other good ones. Feel free to point them out to me in a comment.

The same goes for the Russian or Slavic names, such as Dolohov and Karkaroff. If there's significance buried in those names, I don't get them.

Sunday, June 2, 2019

Coleman Stoves: the product that refuses to die.

In an outdoorsy-camping era full of propane camp stoves and lightweight butane backpacking stoves, it may seem that white-gas stoves have fallen out of style.

(In this article, we will not mention Mountain Safety Research. MSR stoves deserve a lot of recognition and a great deal of respect — and their own article on this blog. Later.)

However, there is one old white-gas workhorse that just keeps pulling along. The classic green two-or-three-burner Coleman stove, with the red fuel tank hanging on the front, was introduced as the Model 425 in 1948. It went through several minor revisions over the years, but it always looked like this.

The original design burned kerosene. Later designs burned white gas or Coleman fuel, a petroleum blend made especially for camp stoves and lanterns. White gas burns fast, hot, and clean. It doesn't produce smoke or foul-smelling byproducts.

(Note that, like any burnable fuel, it does produce poisonous carbon monoxide, and therefore it should never be burned indoors or in an enclosed space. Carbon monoxide is clear, colorless, and odorless, so you cannot detect it with your human senses. Always use white gas appliances outdoors, or with adequate ventilation.)

When propane stoves became a Big Thing, demand for white-gas stoves died down, but it didn't die away. The Model 425 is still sold today, although you may find it marketed as the Guide Series ($119 in 2019, direct from Coleman) or the Classic ($131 in 2019, from Amazon).

Why does it keep selling?

Well, for one thing, it just works. It's designed and constructed to be sturdy. It disassembles and packs into a compact (ish) and self-contained unit, for transport and storage.The three-sided windscreen makes it easy to light, and to keep lit, even in a strong wind.

For another thing, the patented Band-a-Blu™ burners are almost trouble-free: they light easily, they burn hot (7500 Btu on the right, 6500 BTU on the left) and reliably, and they are easily regulated. The Band-a-Blu™ burner has been in every stove Coleman has ever designed, even before 1948.

Finally, it's designed for ease of maintenance and repair. Every component can be disassembled and reassembled with simple hand tools. All parts can be cleaned in soapy water or a solvent like alcohol. Replacement parts are widely available and easy to obtain — even Wal-Mart carries them. But most maintenance can be reduced to occasionally cleaning the outer surfaces with a soapy cloth and putting a few drops of lubricating oil in the "OIL" port on the pump.

(Nobody ever oils the pump. Eventually the pump seal wears out and stops pressurizing the tank. Fortunately, the pump is easy to repair or replace.)

Several years ago, Coleman added to their product line by introducing a dual-fuel version of the Model 425. The dual-fuel stoves have silver-grey fuel tanks, while the white gas stoves have red fuel tanks. Other than that, the dual-fuel stove is nearly identical to the Model 425, and in fact, both versions can burn either unleaded gasoline or white gas. I recommend that you stick to white gas, however. It always burns clean, so you may never have to disassemble and de-gunk the valve or generator.

Coleman also used the Model 425's design as the basis for their 2-and-3-burner propane stoves.
The propane version should have killed off the Model 425, but it didn't. For some reason, the white gas design simply has staying power. But if you want the trusty old Model 425 and the convenience of propane, you can now buy a simple adapter, made by Stansport, to convert the Model 425 from white gas to propane. No permanent, irreversible modifications are needed, and the stove can be easily switched back and forth between propane and white gas.

And, in case it matters, Coleman stoves are made in the USA.


All pictures are shamelessly copied from the above websites.

Wednesday, March 20, 2019

Kellyanne Conway, a Future Hero

Years from now, it will be revealed that Kellyanne Conway, one of the most despised members of the Trump White House, was actually a hero, in the pattern of the late, great, Severus Snape.

The following is a work of speculative fiction, which I offer in support of the above proposition.

After Donald Trump won the 2016 presidential election, and KAC was promoted from presidential campaign adviser to counselor to the president, she realized just how unhinged the Man in the White House really was. But she also realized what happened to people in the White House who crossed the President.

She wanted to expose him and to neutralize him. She wanted to save the country, the constitution, and the government. She knew that she could only do that if she kept her hands on the levers of power. That meant she would have to stay in the White House, and to stay in Trump's good graces. So KAC decided that she would become a mole. Here's what she did:

  • She became the primary (and most trusted) source of leaks to the press. She made sure that the leaks didn't all go to the same media outlet. She varied the modus operandi of her leaks, their content and format, and even the medium - sometimes paper, sometimes USB thumb drives, sometimes anonymous emails, sometimes FedEx packages with bogus return addresses - so that the leaks couldn't be traced to her.
  • She anonymously or confidentially leaked things to Democrats in Congress, to the late John McCain, to the Special Counsel's office, and to the district attorney's office in the Southern District of New York.
  • She convinced other insiders to leak as well, sometimes overtly and sometimes more sneakily. She swore these co-conspirators to silence, promising them that she would never betray them. To this day, she has kept her promise and has not revealed their identities.
  • She was almost caught once. A major newspaper had put together enough clues to finger her as a leaker. Only her brazen dissembling on national television put an end to that speculation.
  • In public, she steadfastly defended the president, so that nobody would ever question her loyalty or suspect that she was betraying him behind his back. She knew that this would expose her to universal ridicule and contempt from the American public. This was a heavy price to pay, one that she was willing to pay for the good of the country.
  • Through it all, her only confidant and comfort was her husband, former Trump associate and then Trump antagonist George Conway. Being able to dump on George, in the safety of their home, was the only thing that kept her sane. When she had first had misgivings about Trump, she had talked to George about it, and the two of them had agreed to stand together in opposition to Trump. It was the ultimate "good-cop-bad-cop" act.
  • She was the main source of information for George's tweets and his public appearances.
  • Sometimes, she would spend hours each night crying on George's shoulder as she dumped the contents of her day on him. He was her greatest strength, and her greatest comfort. As a result, their marriage remained strong - strong enough to withstand Trump's dirty, vicious attacks on the marriage itself.
  • Her secret revelations were the key to finally bringing Trump down, although she knew that this could never be revealed. When Trump finally fled the White House in disgrace, KAC followed him out the door, enduring the jeers and taunts and flung detritus of the angry crowd. 
  • She continued to defend Trump in her public appearances long afterwards, in order to protect the identities and reputations of other White House insiders who had worked in secrecy to bring the President down.
It wasn't until many years later, that a reporter from the Washington Post, putting together the puzzle that was the Trump years in the White House, noticed that some of the pieces didn't fit. When he rearranged the pieces, a new pattern began to emerge, and he saw hints - glimpses - mere flashes - of Kellyanne Conway's underground activities.

He made discreet inquiries and got corroborating information from many other people, before he approached KAC directly. He asked her if she had been secretly sabotaging Trump all along. At first, she angrily denied the accusation. But then George, still her loving husband and greatest defender, met the reporter at a D.C. bar and told him the whole story, confirming the reporter's suspicions. Then George went home and told his wife that the cat was out of the bag, after which KAC contacted the reporter, reluctantly and tearfully admitting her part in saving the country from a tyrant.

Kellyanne Conway was finally hailed as a hero. Fortunately, it wasn't too late.