Installing AWS CLI on Solaris 10


A (former) colleague needed to transfer an Oracle Data Pump file to Amazon S3 (in order to allow Amazon RDS Oracle to import said Data Pump file), but the origination server was running Oracle Solaris and the customer needed the AWS CLI on that server. AWS documentation has no steps for installation of the AWS CLI on Solaris, so I decided to write up this short note.

The test system I used for validation was a SunFire V100 (a circa-2003 Sun SPARC machine with a single-core, single-socket UltraSPARC IIi clocked at 650MHz, and probably slower than a Raspberry Pi). This test system was running Oracle Solaris 10 update 11 (from here) with the CPU OS Patchset 2018/01 Solaris 10 SPARC.

Output of uname -a is

SunOS v100.local 5.10 Generic_150400-59 sun4u sparc SUNW,UltraAX-i2

The first required step is to install a later version of Python (even with the 2018/01 patchset, Solaris 10 comes with Python 2.6.4 which is far too old). Note that this Python package is from OpenCSW Solaris Packages, which is a third party. Enterprise customers would need to have their security teams validate whether OpenCSW is a permissible source of packages.

pkgadd -d http://get.opencsw.org/now

/opt/csw/bin/pkgutil -U

/opt/csw/bin/pkgutil -y -i python27

Once Python 2.7 is installed, you can then download the AWS CLI, version 1 (note that support even for Python 2.7 in the AWS CLI is ending very soon, mid-2021 at the time of this writing, so a specific AWS CLI version that does support Python 2.7 must be used). Note that we have to use a particular switch with wget because the version of wget that comes with Solaris 10 is very old and does not recognize the SSL certificate from Amazon S3.

wget --no-check-certificate "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.19.24.zip"

unzip awscli-bundle-1.19.24.zip

We can then install the AWS CLI, but we need to make sure the right version of Python is used, i.e. it must be ahead of the system Python in the path.

export PATH=/opt/csw/bin:$PATH

./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

After the installer completes, the AWS CLI is successfully installed, and you can configure credentials as appropriate.

3D-Printed Adapter for ZWO ASI120 to Lacerta OAG and Canon 650D

Lacerta makes a very low-profile off-axis guider with an M48 thread on one side, and a Canon EF bayonet on the other side. It is reasonably well-made, but the (used) one that I bought had some pretty serious grub screw markings on the guide camera pick-off tube due to over-tightening of the setscrews that hold the guide camera T-mount to the pick-off tube.

I can see why the previous owner did this: if the setscrews aren't tight, the guide camera can rotate, particularly if the guide camera's USB cable gets snagged on something.

I decided to 3D-print an adapter that would screw into the M4 threaded holes on the back of the ZWO ASI120 guide/planetary camera, and which in turn would hold the camera at the right distance to achieve focus, and bolt to the 1/4" 20tpi tripod socket on the Canon EOS650D DSLR.

It's a very simple design, and would need to be modified for any other guide camera and potentially DSLR, since the sizes are different and the focal points are also different. In this case, I'm using a William-Optics Flat6A flattener/reducer, with its native M48 interface at the rear.

The design is here.

An added bonus is that the 3D-printed adapter also helps to protect the guide camera and OAG from mishandling. Without the adapter/reinforcement, imaging what would happen if you dropped the DSLR: the pick-off tube on the OAG would most likely get bent out of shape.

And here are a few photos:






Intel and AMD Processor Micro-Benchmarking

There are a large number of synthetic CPU benchmarks available - for example, GeekBench, JetStream, SPEC. The utility of these benchmarks for whole-system performance is debatable. Then we have benchmarks that attempt to measure whole-system performance; for example the time-honored Linux kernel compilation, and elaborate benchmarks such as SAP Sales and Distribution (SAP SD), otherwise known as the famous "SAPS rating."

Here I am attempting to measure some degree of whole-system performance by using ffmpeg to transcode Big Buck Bunny. This is a CPU-bound (more correctly, FPU-bound) benchmark with some memory and I/O load due to the very large size of the movie. I've used a statically-linked binary that is not particularly optimized for particular processor features or GPU's (ffmpeg can greatly speed up transcoding on Nvidia GPU's).



Here are the necessary steps to replicate my results (these are for Linux; on MacOS, I used the ffmpeg distribution from brew but the steps are otherwise identical):

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz

tar xf ffmpeg-release-amd64-static.tar.xz

wget http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_normal.mp4

for i in 1 2 3; do
rm -f output.mp4; time ffmpeg-*-amd64-static/ffmpeg -threads 2 -loglevel panic -i bbb_sunflower_1080p_60fps_normal.mp4 -vcodec h264 -acodec aac -strict -2 -crf 26 output.mp4 2>&1 >>out.txt
done

Note that we are limiting the number of threads that FFMPEG can use to 2, which allows it to only use 2 cores. On a 4-core (or more..) machine, the encoding results are much better, but since many of my data points are from 2-core machines, we have to limit the number of threads to 2 in order to have an apples-to-apples comparison.

Note that on a 2-core hyper-threaded system, "in theory" 4 threads is ideal; however, hyper-threading is really only relevant for I/O-bound workloads, and since FFMPEG is CPU-bound, a thread limit of 2 is more appropriate.

We can see on this simple test, that for the MacOS trials:
  • there is a 37% performance improvement from Sandy Bridge to Broadwell (3 generations)
  • 17% improvement from Broadwell to Kaby Lake (2 generations)
Over 5 generations there is a cumulative improvement of 48%.

For the AWS M instance family:
  • 13% from Sandy Bridge (m1) to Ivy Bridge (m3) (1 generation)
  • 14% from Ivy Bridge (m3) to Broadwell (m4) (2 generations)
  • 13% from Broadwell (m4) to Skylake (m5) (1 generation)
Over 4 generations there is a cumulative improvement of 35%.

For the AWS C instance family:
  • 28% from Ivy Bridge EP to Haswell (1 generation)
  • 12% from Haswell to Skylake (2 generations)
Over 3 generations there is a cumulative improvement of 37% - but this is also partially due to differing clock speeds.


We normally would consider a benchmark such as SAPS to be a rigorous, whole-system benchmark because SAPS measures order line items per hour (an application metric) across infrastructure (CPU, memory, I/O), operating system, Java virtual machine, database, and ERP application. But it very much seems that SAPS is essentially a CPU benchmark.

Consider the following:
  • SAP certification #2015005 from 2015-03-10 (AWS c4.4xlarge, 8 cores / 16 threads) - 19,030 SAPS or 2,379 SAPS/core
  • SAP certification #2015006 from 2015-03-10 (AWS c4.8xlarge, 18 cores / 36 threads) - 37,950 SAPS or 2,108 SAPS/core
Here we observe almost linear scaling - as the number of cores/threads is increased from 8 to 18 (2.25X) the SAPS increases from 19,030 to 37,950 (1.99X).

If we consider the SAPS results for the previous-generation AWS C3 instance family:
  • SAP certification #2014041 from 2014-10-27 (AWS c3.8xlarge, 16 cores / 32 threads) - 31,830 SAP or 1,989 SAPS/core
The C3 result is about 6% lower than the c4.8xlarge on a per-core basis. If we recall the naive Big Buck Bunny transcoding benchmark, the C4 is about 12% faster than C3. Thus it appears that SAPS is not purely a CPU benchmark (as it should be) but is strongly CPU-dominated (at least half of the SAPS is directly attributable to CPU performance).

Naively concluding, there appears to be (on average) around 10% performance improvement across Intel CPU generations (across tick and tock). This means CPU performance doubles in 6.9 years (87 months - a far cry from Moore's Law which optimistically predicted 18 months

ProLink PIC3002WN Review



This is a discontinued IP camera from ProLink (https://prolink2u.com/product/pic-3002wn/). There is another review here but otherwise not much additional information.

I bought four of these for home surveillance, but have discovered a number of shortcomings which you need to consider when buying these::
  • the iOS client hard-resets my iPhone 7 Plus randomly, although my wife's iPhone 8 is "fairly" stable
  • only SD card and DropBox recording work, when recording to a NAS (Windows share) the recording randomly stops. Dropbox requires a paid Dropbox account since the number of files is quite large, and you would also need a lot of bandwidth; a day of recording is about 3GB
  • there is no FTP recording, contradicting the review linked above
  • the cameras sometimes randomly lose their recording settings
  • there are days and days with no available recordings, because the cameras stop recording after a couple days; therefore you have to power-cycle them every few days
These cameras are cheap, and in principle have a lot of features. The video quality is reasonably OK, the IR mode works fine, but unless you use the SD card or DropBox recording, the "added" features are unreliable.  And even if using SD card or DropBox, you have to reboot them every couple days otherwise they stop recording entirely.

50mm on Full Frame Test

This is a contrived test of center and corner sharpness of various 50mm lenses, SLR and rangefinder. I decided to compare the performance of my 1938 Leitz Summar before selling it. The test was fairly simple: I took two pictures of a Schneider wooden cuckoo clock, one at the center of the frame, and one at the edge (but not corner). All photos were taken on a Sony A7-II, with IBIS enabled, and manual focus using the zoom-in button. Distance was about 3 meters (typical portrait or half-body distance) and all lenses were wide-open to maximize aberrations.

Here's the clock face at the center of the image (rotated 90 degrees for convenience):

And here is the same clock face at the edge of the image (also rotated 90 degrees):

And here are the center images:

Canon 50mm f/1.8 LTM

Industar-61LZ 55mm f/2.8

Jupiter-3 50mm f/1.5 Sonnar copy

Jupiter-8 50mm f/2 Sonnar copy

Carl Zeiss Jena Pancolar 50mm f/1.8

Contax Carl Zeiss Planar 50mm f/1.7

Canon 50mm f/1.8 STM

Ernst Leitz Wetzlar 50mm f/2 Summar (1938)

Pentax Super-Takumar 55mm f/1.8

Pentax Super-Takumar 50mm f/1.4 (7-element)

And the edge images:
Canon 50mm f/1.8 LTM

Industar-61LZ 55mm f/2.8

Jupiter-3 50mm f/1.5 Sonnar copy

Jupiter-8 50mm f/2 Sonnar copy

Carl Zeiss Jena Pancolar 50mm f/1.8

Contax Carl Zeiss Planar 50mm f/1.7

Canon 50mm f/1.8 STM

Ernst Leitz Wetzlar 50mm f/2 Summar (1938)

Pentax Super-Takumar 55mm f/1.8

Pentax Super-Takumar 50mm f/1.4 (7-element)

3D-Printed Finder Guider

This is a 3D-printed finder guider that I built from a 60mm achromatic objective in a metal cell from Sheldon Faworski, a length of 2" cardboard mailing tube, and some parts 3D-printed from ABS.

The 3D-printed parts include:
  • an adapter to marry the lens in cell with the cardboard tube (with suitable tapering down that does not vignette the lens aperture)
  • an adapter with two tapped grub screws to allow a standard 1.25" nosepiece to be attached to the finder guider (an ASI120MM is attached)
  • two guide scope rings
The 2" mailing tube was cut to the exact length so that the ASI120MM only just reaches focus. The ABS parts were then epoxied to the cardboard tube.



Viltrox EF-NEX IV AF Adapter on Sony A7 II Brief Impressions

I have written about the Viltrox EF-FX1 before.

TL; DR - the EF-NEX IV performs pretty much the same way as the EF-FX1, is marginally better in some cases, and worse in other cases.

AF performance is by and large acceptable to mediocre, with two notable exceptions: the Canon 16-35mm f/4 L IS and 10-18mm f/4.5-5.6 IS STM will not AF. On the plus side, the A7 II actually manages to AF the Canon 180mm f/3.5L Macro, which the EF-FX1 was unable to. AF is quite slow and not very reliable however.

The EF-NEX IV also manages to report the focal length properly (which the EF-FX1 could not), and it can detect APS-C lenses and automatically crop (I was unable to get the "tunnel view" with the 10-18mm IS STM).

Quick Test: Canon 300mm f/4 L (non-IS) for astrophotography

The Canon 300mm f/4 L (non-IS) from the 1990's is one of Canon's discontinued, older and slower telephoto lenses. It does have UD glass. Because I already had the artificial star set up, I decided to see what star shapes look like off-axis on a Canon EOS 6D full-frame body.

Note that this is a contrived test using a 50 micron artificial star, 8m away (because it's cloudy).

And here it is:

It is not bad at all.

Compare to the APM Lomo 80mm f/6 Super-Apo triplet ("the best 80mm APO in the world," according to some), with the Televue TRF2008, which got the best results in my artificial star test:

Not too bad a showing for the Canon, I must say, given that the Canon is a 300mm f/4 (75mm aperture). The Lomo is the equivalent of a 384mm f/4.8 so not too far off.

Conclusion: the Canon superficially looks capable of challenging the "best 80mm APO in the world" on full frame.

AWS Z1D, M5A (AMD EPYC) Performance Comparison

This is the time-honoured Linux kernel benchmark.

In order to prepare a stock Amazon Linux 2 installation to compile the kernel, the following packages need to be installed:


wget https://git.kernel.org/torvalds/t/linux-4.20-rc3.tar.gz
sudo yum update
sudo yum install kernel-devel
sudo yum install ncurses-devel
sudo yum install bison
sudo yum install flex
sudo yum install openssl-devel

Preparation was simply unzipping the 4.20-rc3 tarball from kernel.org, running "make menuconfig" and immediately saving the config (no changes) and then make -j 4.

This was on Amazon Linux 2, with a 40GB GP2 EBS block storage volume.

AMD EPYC m5a.xlarge:

time tar zxf linux-4.20-rc3.tar.gz

real 0m6.109s
user 0m5.928s
sys 0m2.838s


And the kernel build:

time make -j 4

real 18m31.421s
user 66m52.071s
sys 5m54.968s

Intel Xeon Platinum m5.xlarge:

time tar zxf linux-4.20-rc3.tar.gz 

real 0m4.693s
user 0m4.688s
sys 0m1.767s

the kernel build:

time make -j 4

real 14m4.332s
user 49m12.569s
sys 5m44.682s

So there we have it: on a kernel compilation, one run, the Intel instance completed the kernel compilation 25% faster.

Update 13-Dec-2018. The new Z1D instance is supposed to be significantly faster than M5/C5/R5 due to sustained 4 GHz Turbo Boost on all cores.

time tar zxf linux-4.20-rc3.tar.gz 

real 0m3.648s
user 0m3.623s

sys 0m1.438s

z1d.xlarge (also 4 vCPU) is 22% faster than m5.xlarge at uncompressing the kernel.

the kernel build:


time make -j 4

real 11m25.560s
user 39m35.242s

sys 5m2.343s

also 23% faster. So it looks like for general purpose workloads (that are probably I/O bound) the Z1D only provides a 20% performance uplift.


William-Optics New Adjustable Flattener P-FLAT6AII on AP130GTX

I've attempted to create a general formula for spacing of the William-Optics New Adjustable Flattener P-FLAT6AII here.  I've also done some rudimentary testing of this flattener on a Lomo 80mm f/6 triplet as well. The key takeaway at the 480mm focal length is that this William Optics flattener performs better than the half-priced Orion flattener/reducer, but is marginally outperformed by the 20-year old design of the Televue TRF2008, at least in my testing with an artificial star that was quite close by, not at infinity.

What about on the Astro-Physics AP130GTX, which has an 819mm focal length?

Based on William-Optics' tables, the closest focal lengths are the 970mm Z126, with a 1.4mm spacing, and the 711mm Z103, with a 4.6mm spacing. Neither is particularly close to 819mm, but using my least-squares approximation with m=-0.014 and b=14.855 a spacing of 3.4mm is obtained.

However, based on my previous experience with the Lomo, where the best spacing was around 2mm shorter than indicated by the table (may be caused by the artificial star not being at infinity) I decided to try several spacings of the Flat6 to determine the best one.

First the AP130GTX with no flattener, on the corners of a Canon EOS 6D. Performance is decent, actually: the field curvature is much less than with the Lomo 80mm.


We do observe that there still are comet-shaped stars, although they are pretty tight.

The Televue TRF2008 did very well with the Lomo, in spite of its 20-year vintage (it was released in 1999). It does not do quite as well with the AP130GTX, however, in spite of (supposedly) being designed for 400mm - 600mm focal lengths.


The stars are not comatic, but they are quite eggy.

The Flat6 supposedly is best at 3.4mm spacing. Here's 3mm. It's not great. The stars are round (ish), but quite diffused compared to without the flattener. This could also be down to my technique or lack of it (that's a typo, the spacing is 3mm, not 3 meters).

 I decided to try an even shorter spacing of 1.5mm which would correspond to 900mm of focal length.

While the stars are tighter, they are less round than at 3mm, and show a bit of a comatic shape. I suspect that 3.4mm or 4mm is a better choice for spacing for the AP130GTX. But performance is still only tolerable.

I guess that's why AP gets away with charging $825 for their dedicated flattener.

Refractor Flattener/Reducer Comparison on Lomo 80mm f/6 Super-Apo Triplet

Some Hong Kong amateur astronomers have done their own testing of various flatteners with the Lomo 80mm f/6 Super-Apo. Their results can be summarized as such. Note that the Televue TRF2008 performs the worst in their test (24m distance to artificial star).


I recently purchased the William Optics New Adjustable Flat6A II which supposedly works with a wide variety of refractors. I've collected the recommended spacings from William Optics and generalized it to any refractor focal length.

For this test, I'm using a Lomo 80mm f/6 Super-Apo with a Russian OK4 air-spaced triplet. Due to poor weather, all testing was done indoors at about 8m distance (admittedly, quite close) and a Hubble Optics 5-star artificial star. I used the 50-micron (smallest) star for this test.

The test images were captured with a Canon EOS 6D, which is a full-frame sensor and therefore somewhat of a challenge for these flattener/reducers.  Do note that because the test was not conducted at infinity, it is not conclusive.

First, the performance of the refractor without any correction at all. We can clearly see that there is quite severe field curvature. This performance is inadequate for even casual imagers.


Compare this to the performance with the inexpensive Orion 8894 0.8X reducer:


Performance is better than without any flattener, but still not that great. Note that this is at the corners of a full-frame sensor, so on a reduced-frame camera, performance would be much better.

Now for the oldie-but-goodie Televue TRF2008 flattener/reducer for the TV85, which is designed for 400mm - 600mm focal lengths.

This is a pretty good showing, significantly better than the Orion.

Now for a bad example: the Altair Astro (Long Perng) 0.6X reducer/corrector, which was never designed for full frame:


Suffice it to say, this is barely better than no corrector at all, however there is the 0.6X focal length reduction which may offset the ugly corner stars.

According to William Optics, the GT81 with a 478mm focal length requires 7.9mm of spacing with the Flat6. Here are two attempts with an 8mm spacing:



Neither of them are very good. Definitely worse than the TRF2008. I tried spacings of 9mm and 10mm, with even worse results. With an 11mm spacing, I could not reach focus. This was almost certainly due to the artificial star not being at infinity.

Here's the same Flat6 with a 6mm spacing, which is significantly less than recommended:

Performance is significantly better than at 8mm, and is almost though not quite as good as the TRF2008.

And with 4.5mm spacing:

Correction is almost the same as at 6mm. In general, the shorter the focal length, the more correction is required. And correction is increased by increasing the spacing. Interestingly, this Lomo 80mm f/6 triplet seems to need less field flattening than would normally be indicated.

It is somewhat disappointing, however, that after all this drama, the Flat6 cannot surpass the 1999-era TRF2008.

William-Optics New Adjustable Flattener P-FLAT6AII

William Optics has a new adjustable flattener with (they claim) 97% of full-frame (43mm image circle) coverage for a wide range of refractors from around 480mm focal length, up to 970mm. This is almost certainly the replacement for the old P-FLAT4.

There are several other adjustable flatteners such as the Long Perng one (which is cheaper).

WO publishes some suggested spacings on their web site, which I have summarized here:


There is what I believe to be a typo. Field curvature for refractors (whether doublets or triplets) is proportional to the focal length only (not the focal ratio). However we see in WO's suggested spacings that the Zenithstar 71 and Gran Turismo 71 which have basically equal focal lengths, have significantly different spacings.

If we do a least-squares interpolation using WO's suggested spacings, we get the following:

Notice that the R-squared is 0.9173 which is not very good. However if we drop the Zenithstar 71 data point and keep all the rest, we get this:


A much better fit (almost a straight line) with an R-squared of 0.9926.

In summary: to determine the optimal spacing for your particular refractor, use m=-0.014 and b=14.855 (remember the formula, y = mx + b).

Once I get my copy of the P-FLAT6AII, I will be able to validate if the above formula holds.

Viltrox EF-FX1 AF Adapter Brief Impressions

Overview

I have been using a Mitakon Zhongyi Lens Turbo II (Canon EF to Fuji X-mount) for almost a year and I'm pretty happy with it: you get "full frame" cropping, and the optical quality is surprisingly high. The only downside is that a lot of wide lenses (anything wider than 24mm actually) don't work, as their rear elements collide with the reducer's front element near infinity.

I'd read about various Canon EF to Fuji X AF adapters, and the cheapest one out there is the Viltrox EF-FX1, so I bought one off ebay for $140 (expressed-shipped from China) and got it a few days later.

I will dispense with all comments about build quality, etc. Build quality is adequate, equivalent to a third-party lens. That's good enough.


I originally intended to do some videos comparing the AF performance of a Fuji XT-1 with the Viltrox adapter, with my Canon 6D, but it became quickly apparent that such a comparison was useless. The long and the short of it is: the XT-1 (or XE-2, I tested both) with the Viltrox adapter and almost any Canon lens, behaves like a circa 2011-2012 mirrorless camera in terms of AF performance: it's slow, hunts a lot, and often does not find focus.

There is a review here with videos of the AF performance with a wide variety of Canon lenses, but I do not consider this very useful for several reasons:
  • high contrast subject
  • well-lighted
  • the lenses were already "close" to good focus
Basically: the video above makes the adapter look a lot more performant than it really is. I watched that video and was impressed with the AF performance, so when I actually got the Viltrox, expectations did not match reality.

My testing is much less rigorous, but I did it in a dimly-lit room with low contrast subjects. Also, I made sure to crank the lenses to their minimum focusing distance before engaging the AF. For example on the 180mm f/3.5 Macro, it takes quite a long time to motor from MFD to the correct focusing distance (i.e. this is the worst-case scenario).

Strange Bugs and Quirks

  • The adapter forces the lens EMD to act as an "auto iris" all the time - you can actually see the lens diaphragm stopping down when you point the lens at a bright light source. This is disconcerting and may not do wonders for the lens' longevity.
  • Aperture EXIF data is mis-reported for many lenses when wide open; this does not affect the actual aperture, just the reported EXIF data. For example, the Canon 50mm f/1.8 STM wide open (at f/1.8) is recorded as f/20; the Canon 35mm f/1.4L Mk I wide-open is recorded as f/16. Stopping down to f/2.0 or f/1.6 respectively records the correct aperture value in the EXIF data. However, other lenses (I tested two zooms - the 24-85mm f/3.5-4.5 USM and the 70-200mm f/2.8L USM) do record correct aperture data even wide open.
  • Only the widest focal length EXIF data for zoom lenses is recorded in the EXIF; for example the 24-85mm always reports 24mm whatever the actual focal length, and the 70-200mm always reports 70mm.
  • On STM lenses (only tested with the 50mm), the AF/MF switch is disobeyed - MF is always possible (it's manual focus-by-wire, and the adapter always enables it). This is probably a good feature to have rather than a bug.


Lens AF Performance

So to the meat of the summary: AF performance. I tested this with a variety of lenses, and as stated above, AF performance is equivalent to a circa 2011-2012 mirrorless (well, a Panasonic GF2 because that's the mirrorless I owned in that time frame). Or perhaps a sluggish modern prosumer camera like a Canon G5X, or a 10-year old entry-level Canon DSLR (like a 350D).
  • Canon 50mm f/1.8 STM - easily the worst-performing of the first-party lenses I tested. Unable to reach focus in many (somewhat dark) situations. Hunted a lot and slow. This same lens performs very well on a Canon 6D: moderately faster AF performance, but very accurate and doesn't hunt at all in low light.
  • Canon 35mm f/1.4L Mk 1 - focuses surprisingly fast, though not as fast as natively on the 6D and hunts.
  • Canon 85mm f/1.8 - same as the 35mm.
  • Canon 135mm f/2L - same as the 35mm.
  • Canon 180mm f/3.5L Macro - I take it back, this is the worst-performing lens with the Viltrox adapter. Gets lost more often than not, AF is pretty much useless on this lens. But this lens also has mediocre AF performance on the Canon 6D.
  • Canon 24-85mm f/3.5-4.5 - focuses quite fast (see the theme? "real" ring USM lenses perform well).
  • Canon 70-200mm f/2.8L non-IS - also focuses quite fast.
  • Canon 16-35mm f/4L IS - focuses fast, and IS works.  I was able to get sharp photos at 35mm and 1/2 second exposure time. There was an instance where the lens got disconnected and AF stopped working (and the display showed f/0 - as if no lens was attached) but restarting the camera fixed this.
  • Sigma 50mm f/2.8 Macro (the old one that locks up your camera with Error 99) - this does not lock up a Fuji camera! however aperture cannot be controlled, so it only operates wide-open (on any modern Canon DSLR, this lens locks up the camera if you try to set the aperture to anything other than wide-open; on old DSLR's like the 5D, it would not lock up the camera but apertures smaller than wide-open cannot be commanded).
  • Tokina 80-400mm f/4.5-5.6 AT-X AF - useless.  At 80mm it seems to reach focus, but at 400mm it hunts around, runs back and forth past the correct focus point, then indicates correct focus (double beep) even when the lens is clearly not focused.

Conclusion

I would not characterize the Viltrox EF-FX1 to be a cheap parlor trick (it is on the cheap side, admittedly): on fast ring USM lenses it is actually usable, although the user experience is sub-standard.

If you have a large pile of Canon lenses, then this adapter is useful.  I do not know if Canon lenses AF faster on say, Sony A7-class mirrorless cameras, or if the more spendy Canon-to-Fuji AF adapters focus faster. But the Viltrox is $140, which is less than the cost of the cheapest Fuji primes. So if say you want a 50mm AF prime and have the Canon lying around, it's cheaper to buy the Viltrox than the Fuji XF 50mm.

Some Canon lenses (well the cheap 50mm STM that I tested) don't work very well, and the AF performance of all the Canon lenses is nowhere close to a 6D, which is a 4-year old, mid-tier body. Granted the XT-1 and XE-2 are also of equally dated vintage. Maybe a more modern Fuji body would perform better, but the XT-1 and XE-2 AF swiftly with native Fuji lenses, so I don't think the problem is in the body.

That said, if Viltrox came out with a version of this converter with a built-in reducer like the Mitakon Zhongyi, I'd probably buy it.

Lightweight Triplet Super-Apochromat Refractor

The Russian Lomo 80mm f/6 and f/7.5 OK4 triplet apochromats are considered by many to be among the finest 80mm refractors in the world. However, they are also known for being built like tanks. My APM Lomo 80mm f/6 in a William-Optics tube and with a Feathertouch focuser weighs 4.26 kg (9.4 lb) all in, which is heavy for an 80mm refractor.


Here we see the weight with a typical 18mm AstroTech Paradigm ED eyepiece, 2" diagonal, tube rings, and small Vixen dovetail:


On the other hand, the modular Borg refractors are well-known for being supremely portable and lightweight. However, they have been less known for being at the pinnacle of optical performance.

So I wondered, what if you could marry the best traits of the Lomo OK4 triplet and the Borg refractors?

Behold - the Lomoborg:


It is constructed from the 7803 80mm diameter x 205mm long Borg tube and the 7835 helical focuser. The tube ring is from a Takahashi FS-60. This setup was for my Borg 76ED, which has a 500mm focal length. The OTA is a little too long for the Lomo 80mm f/6 which is a 480mm focal length, so some eyepieces won't reach focus (the 18mm AstroTech Paradigm ED eyepiece barely reaches focus with a 2" diagonal, with about 2mm of in-travel left).


All-up weight is 2.9 kg (6.4 lb) which is a win!

In comparison, the Borg OTA with the 76ED objective weighs 2.46 kg (5.4 lb) so the Lomo objective adds 1 lb of weight.

The Lomo lens was adapted to the Borg tube using a 3D-printed adapter, which is secured to both the lens cell and the Borg tube using 3mm grub screws - not an ideal arrangement. For an actual production setup, the adapter would need to be made of aluminum and with threaded ends. Also, some sort of dew shield would be necessary.