Published in Review of Scientific Instruments: Robotized polarization characterization platform for free-space quantum communication optics

When constructing an optical system for communicating using polarized photons, it's critical that components and subsystems be accurately and comprehensively characterized. Especially so if that system is designed to be sent into space, where any corrections after the fact are, at best, extremely difficult (just ask Hubble). With this in mind, we developed a polarization characterization platform for optical devices based on an imaging polarimeter attached to a six-axis robot arm. In this paper, we describe the device and its performance for characterizing some sample test devices, including a large lens designed for a quantum optical transmitter to a receiver satellite.

Y. S. Lee, K. Mohammadi, L. Babcock, B. L. Higgins, H. Podmore, and T. Jennewein
Review of Scientific Instruments 93, 033101 (2022)

Read this post

How to VNC into a running Plasma session

The easy answer is “have the user run krfb inside the session first”. But what if you are the user, and you're already remote from the host by the time you remember you needed to do that?

You need to have configured krfb with a remote control password and any other relevant settings, first. See below, but typically you've already done this at some point, so you can move straight to the important part:

ssh you@yourserver
DISPLAY=:0.0 krfb --nodialog

Then try to connect using krdc, or your VNC viewer of choice.

What if you don't have the password, etc., configured? Then:

ssh -X you@yourserver

This will display the window locally. Configure and close. This mode of operation doesn't work for actually showing the remote session, evidently because the X session forwarded though SSH is somehow a new/separate session. The key to showing the remote session is passing that DISPLAY environment variable.

Other thoughts: Have a slow network? Disable key repeat, or it might stutter. Also, sshuttle is very handy if you have limited port forwarding (but it won't help the network speed situation).

Read this post

Published in EPJ Quantum Technology: Repeated radiation damage and thermal annealing of avalanche photodiodes

A big difficulty preventing single-photon communications to a satellite is the detector noise caused by radiation in orbit. In a previous study, we showed that with a combination of sufficient cooling during operation and thermal annealing during maintenance, it should possible to keep this noise low enough to do quantum key distribution. What we could not capture at that time, though, was whether the cycling of cold and hot over the lifetime of a satellite would have any effect, and in particular how the choice of when to anneal would impact this.

In this study, we address this question by applying multiple rounds of radiation to a flight-like apparatus, and quantifying its performance between each round, over a two-year-equivalent accelerated irradiation campaign. We used two devices, one of which was annealed at regular intervals, the other conditional on the noise counts exceeding a predefined threshold. In the end we found a very slight benefit to the conditional strategy for maintaining good performance through the entire satellite nominal lifetime, and significantly beyond.

I. DSouza, J.-P. Bourgoin, B. L. Higgins, J. G. Lim, R. Tannous, S. Agne, B. Moffat, V. Makarov, and T. Jennewein

Read this post

Published in Advanced Optical Technologies—A double feature

Two of my papers were published in Advanced Optical Technologies, recently, as part of a topical issue on applied quantum technologies.

The first paper deals with encoding the polarization of light signals for quantum key distribution (QKD). In principle, light is very good at maintaining its polarization, but in practice things like thermal effects in optical fibers and physical orientations causes polarizations to get rotated in sometimes unpredictable ways. There are various techniques to control and correct for these effects. This paper proposes an approach based on sampling the QKD signals themselves, and analyzes the performance in terms of how much light needs to be sampled. It turns out you can do very well to preserve the polarization with a relatively few signals.

The second paper looks at whether ‘adaptive optics’ techniques can be used to help transmit QKD signals from ground to an orbiting satellite. Adaptive optics uses fast sensors and deformable elements (e.g., mirrors, phase plates) to correct turbulence-induced variations, enhancing pointing precision and, thus, the total signal collected at the receiver. It turns out to be tricky to use this effectively when they satellite is in low-Earth orbit due its fast motion over the ground station [...]

Read this post

Introducing UWU, the Uncomplicated Web Uploader

On occasion it's been useful to transfer files to/from colleagues at different organizations. But when they want to send me something, doing so securely (i.e., not via email) can be a bit of a chore. I've found solutions tend to require too much technical setup for the sender (e.g., key-based SFTP), need too much on-going management at the server (e.g., user-based SFTP), or are part of a much heavier integrated solution (e.g., a fully-fledged personal cloud suite). I just wanted a minimal CGI script that I can run on something as basic as my Raspberry PI. So I made UWU.

UWU, the Uncomplicated Web Uploader, is a simple portal for uploading files to a server through a web browser. It's loosely inspired by woof, and while that tool does have an upload mode, it can't be set up to run on an HTTPS-secured server. UWU can. In addition, a standalone server for private/trusted networks can be run, without any prerequisites other than Python 3.

UWU provides separate “spaces” which a user can upload to, each with enforced file size and count quotas. By design, UWU does not support viewing the existing contents of spaces [...]

Read this post

Preserving merge trees when using git-svn

If you're like me, you might be using git-svn to connect to centralized SVN repositories (e.g., at the workplace) while keeping many of the powerful features of git. Sometimes you might be working in a local feature branch that is linked to a remote branch, and do a git svn rebase to grab updates from the SVN server. This command only fetches from the corresponding server branch. But, if an SVN merge, say from trunk, had happened on that branch at the server, then git-svn needs the corresponding local master branch to be up-to-date to notice that it was the parent of that merge. If you hadn't fetched from master recently, you lose the merge tree. Oops.

Before the rebase it would've been better to use git svn fetch --all (or it ought to have been, assuming git-svn fetches revisions in order once for all branches). But you might forget to do that. If that's where you find yourself, it is possible to recover. In the feature branch, use git svn reset -r{REV} -p, replacing {REV} with the revision number of the SVN merge which git-svn failed to assign a parent. Then do git svn fetch --all before [...]

Read this post

Page 1 of 8 | Next →