My hovercraft is Full of Eels

I’m so proud.

My next project is to get Mark Oliver Everett and one of his bandmates to come visit and pose for a photo in the hovercraft. (Hey Mark; I’m 8 miles from the SpaceX Boca Chica launch site – come visit and watch a launch.)

Oddly enough, I think I met his dad once in the late 1970s at a meeting of the TRS-80 Users Group of Eastern Massachusetts (then, TRUGEM); one of my brushes with greatness.

Use Beyond Compare to launch Word’s legal blackline compare (on Windows)

[Minor update 2020-09-06]

I use Beyond Compare a lot – every day. It’s the best “diff” utility I’ve ever found.

But I also need to compare Word documents a lot – also every day. And Beyond Compare isn’t very good at that.

Microsoft Word has it’s own “legal blackline” (sometimes called “redline”; I don’t know why) compare which works well, but is very tedious to start each time. To use it (in Office 365), you need to:

  1. Open a document
  2. Go Review>Compare>Compare two documents
  3. Find the original document and select it
  4. Find the revised document and select it (yes, even tho you already have it open)
  5. Click OK

If, as is often the case with me, the two documents are in different folders, this is a lot of work.

With Beyond Compare, on the other hand, you can just select two documents in File Explorer, and right-click on “Compare”. Done.

Here’s a way to get Beyond Compare (BC) to launch Word’s legal blackline, the same easy way. Step-by-step:

1 – Download script “Diff-Word.ps1” into the BC4 folder (usually “C:\Program Files\Beyond Compare 4”)

(That file is modified from what I found at https://github.com/ForNeVeR/ExtDiff – many thanks to the author of that!!)

2 – Open Beyond Compare and do Tools>FileFormats, go to the bottom of the window that pops up and click ‘+’, then choose “External Format”.

3 – In the Mask box paste in “*.doc;*.docm;*.docx;*.dot;*.dotm;*.dotx” (without the double quotes).

4 – In the Quick Comparison paste in (again without the double quotes): “powershell -ExecutionPolicy ByPass -File Diff-Word.ps1 %1 %2”

5 – In the Compare View box paste in (again without the double quotes): “powershell -ExecutionPolicy ByPass -File Diff-Word.ps1 %2 %1” (note reverse order of parameters at the end – this is necessary)

6 – In the Description box past in (if you care): “Make Word open it’s own blackline compare.”

7 – Click Save, click Close, exit Beyond Compare.

Now to use it, the order in which you do things matters (because of the way Word’s compare works – it marks revisions against an “original”; if you do things in the wrong order you’ll be marking the original against the revised version, which isn’t the same thing).

So to use it:

1 – Right click on the ORIGINAL file and choose “Select left file for compare”.
2 – Right click on the REVISED file and choose “Compare to”.

That’s it. This will open 2 Word windows, one with the blackline change marks (revised marked against original), and the other with the revised document (no changes – ready to edit further).

If you don’t want that 2nd window (just want the changes), put a ‘#’ (comment) in front of the line that starts “$new =” in Diff-Word.ps1.

Force remove an entire Windows folder tree at the command line

Supposedly

del /f/s/q [target]
will delete an entire folder in Windows.

But often it doesn’t – excessively long file names, excessively long paths, and other things, break it. Sometimes it can be quite difficult to fully clean out a folder.

There are many solutions (cygwin‘s rm is pretty powerful) but here’s a simple batch file that harnesses the power of Robocopy (which comes pre-installed with Windows) to do the job:

@rem thanks to https://stackoverflow.com/questions/97875/rm-rf-equivalent-for-windows
@echo TEP - Terminate with Extreme Prejudice (die, die, die) @echo off setlocal SET /P AREYOUSURE=Are you ABSOLUTELY SURE you want to irreversibly delete folder '%1' [y,N]?
IF /I "%AREYOUSURE%" NEQ "Y" GOTO abort set emptyFolder=%TEMP%\tep_%RANDOM%%RANDOM%%RANDOM%
mkdir %emptyFolder%
@REM robocopy will mirror an EMPTY FOLDER into the target
robocopy /mir %emptyFolder% %1 rmdir %emptyFolder% rmdir %1 goto exit :abort echo Nothing done. :exit endlocal

The only thing I’ve found that this won’t delete is open files.

Wake up, lens makers!

For more than 100 years, camera and lens makers have been doing signal processing in the analog domain with ever more carefully and cleverly shaped glass – to bend and synchronize light rays.

Now the equivalent thing, and much more, can be done in software, rendering most of that effort moot.

Modern smartphones have the computational abilities of supercomputers, and use them to produce images that rival those from expensive, heavy, bulky cameras – using tiny cheap lenses and sensors.

See, for example:

https://www.blog.google/products/pixel/pixel-visual-core-image-processing-and-machine-learning-pixel-2/

and

https://research.googleblog.com/2017/11/fused-video-stabilization-on-pixel-2.html

Traditional camera and lens makers need to get on the DSP wagon or be left behind. Soon – time is running out! You don’t want to be the next Kodak.

(Canon, Nikon, Pentax, Olympus, etc…this means you.)

 

21 August 2017 total eclipse at 64x real time

From Casper WY. It was amazing; I’d never seen a total eclipse before. A partial eclipse doesn’t compare at all.

Here’s about 5 minutes around totality, compressed into 5 seconds (64x real time, exactly):

If you watch the clouds, you can see the eclipse shadow come and go.

Also notable is the city traffic (in the background).

AoA sensor first prototype

I don’t see anybody selling an angle-of-attack sensor for FPV RC aircraft, so I’m making my own.

Here’s the first (quite crude) prototype:

AoA sensor prototype

It’s nothing more than a hall effect sensor inside a hollow tube (the black plastic spacer) with a magnet glued onto it. It’s held by the red plastic block with a hole drilled thru it.

The other end of the tube has a crude weathervane attached (the counterweight needs more work).

It seems to work reasonably well:

I’d feed the output into an ADC on a PIC.

The whole thing is too loosey-goosey for flight – this was just a prototype to see if the idea works.

Now I’m trying to figure out how to make a flightworthy version. Maybe this would be a good first 3D printer project?

Idea: In perpetuity web hosting

When people die their web sites usually go down after a year or two, when nobody pays the hosting and/or domain fees, or due to uncorrected technical problems.

This is a problem a company could solve.

For example, my friend Sasha Chislenko died 16 years ago. One bit of luck (in an ultimately unlucky life) was that a group of his friends got together and decided to preserve his web page for eternity – or at least until those friends die off or forget about it.

On the other hand Chuck Moore, the inventor of the Forth programming language, had a personal website at http://colorforth.com that hosted lots of interesting historical and technical material. I don’t know if Chuck is alive or dead (I hope he’s OK!), but his website went down sometime in the last 6 months.

For the subset of humanity that maintain personal websites and blogs, those sites represent an intellectual legacy – I think most of them would like to think that while they may die, their ideas and intellectual contributions will live on, to some degree, on their web site.

Certainly I would.

Of course, the Wayback Machine already attempts to preserve the past web, (and that’s great and worthwhile), but it’s not as good as keeping the original site going. The Wayback Machine doesn’t serve links to the old site, doesn’t preserve the final version (just the last randomly sampled version before the site goes down), and doesn’t serve certain file types, large files, or execute server-side code as the original site did.

Nor is the Wayback Machine well indexed by search engines (for now anyway).

So – a service that does this for a fee would seem to be a viable business.

Like a cemetery or university, in-perpetuity maintenance could be funded by a conservatively managed endowment (a lump sum invested, with the interest/earnings used to pay fees) plus some insurance.

Given that web site maintenance is pretty cheap, this would be quite affordable, I think. Even cheaper if it can be funded by (essentially) a whole-life insurance policy (for younger people).

The main effort would be setting up a suitable legal structure – a technically-minded lawyer could probably do it. I think you’d want some kind of trust and trustees, who manage a central endowment fund (pooled for all customers) and hire technicians to do the work.

Yes, you have my permission to use this idea. My usual terms apply.

Idea: Virtual treadmill

…maybe that’s not a good name.

The idea is a treadmill-like device that allows you to go in any direction, just just forwards.

Ideally, it would let you go up/down, left/right, forward/back. And more.

A few weeks ago I playing with an Oculus Rift demo where you “pick up” and move around cubes with a hand/finger position sensing glove.

I remarked that the cubes were awfully light – must be made of aerogel or something.

Which I guess says the illusion of reality was pretty good.

That got me thinking about what a real VR environment might feel like.

The first obvious thing that’s missing is the ability to walk around naturally.

A treadmill-like platform that can move in 2 axes (instead of 1 like the usual treadmill, or 1 plus angle) would be nice, but I couldn’t think of a way to make it work mechanically.

THE IDEA

But what you could do is make a pair of servo-driven harnesses, one for each foot. They’d be attached to boots that you’d put your feet in.

Within a limited volume (as much space as a foot can reach from a single position), each harness would be able to move the boot (and resist movement) thru 6 degrees of freedom:

  • X, Y, Z
  • Pitch, roll, yaw

It would be able to resist movement to simulate friction, climbing, etc., and to move at various speeds to simulate walking, running, sliding, etc. Each of the 6 degrees of freedom would be controlled by a servomotor and connected by linkages (pretty straightforward mechanically; requires competence but not invention).

Of course it would have limits, but I think you could use this to create a “pretty good” feeling of walking around, running, even jumping.

For example, suppose you want a VR environment that simulates lunar gravity (1/6th g).

You can’t change the force with which gravity pulls you toward the floor, but if you “jump” (a vigourous downforce on the boot), you’d measure the force of the jump and plot the jumper’s ballistic trajectory. While “in the air”, all resistance to movement (all 6 degrees) are turned off – so the user feels he can wiggle his feet around as if floating. When he “lands” there’s a sudden locking of the pitch/roll/yaw axes and a sharp jerk in the +Z direction (if he lands upright).

Main applications would be VR exploration, exercise games, FPS games, etc. If the experience feels right I think there could be a mass market for the things. In any case, there’s a small high-end market that could (and should) be pioneered first.

The next step is to make another pair for the hands, maybe even with actuators for each finger joint…

Yes, you have my permission to use this idea. My usual terms apply.

Idea: Intelligent lawn sprinkler

A friend is thinking about doing a startup – I promised to email him my occasional business ideas. I’m posting the rejects here. This is the first. My usual terms apply.


We recently had a landscaper redo our lawn. So we had a law full of dirt that had to be seeded with grass and then watered daily.

We setup 8 sprinklers – every 15 minutes I had to turn one off and the next on (lots of valves and splitters) because we didn’t have enough water pressure to run more than one at a time.

So –

From a single spot an intelligent sprinkler has pan and tilt servos and a nozzle that emits a single tight stream (the opposite of normal sprinklers). The servos drive the sprinkler in a raster pattern to cover any arbitrary shaped pattern of lawn evenly – water goes only where you want it, not where you don’t.

Because it emits one single high-pressure stream, the area it can reach is far larger than a conventional sprinkler.

It’s programmed when you turn on the water and “draw” the outline of the area you want covered by hand, moving the nozzle. After that it’ll keep that area watered as long as you want.

Also it has a timer, so it can run intermittently in any on/off pattern you like.

It’s powered by a little water turbine that drives a generator, which charges a battery.

 


Update 2024: 8 years later, something very like this is on the market: https://otolawn.com/

They didn’t do the “just move the nozzle to paint the area” thing, instead they use a smartphone. And it’s solar powered; I’m not sure how they get enough energy to run the servos all day from that.

It’s about $350, which seems reasonable given the complexity and volume.