HNHacker News
TopNewBestAskShowJobs

jfitzsimons

31 karma · joined January 20, 2020

Physicist and computer scientist. Former professor, current founder.
submissionscomments
jfitzsimons··on Ask HN: Am I the longest-serving programmer – 57 years and counting?
As someone who runs a quantum computing software company, I can confirm your intuition. Almost everyone we hire to work on quantum computing directly has a PhD.
jfitzsimons··on Sorting 1M 8-digit numbers in 1 MB of RAM (2012)
There have been a few edits to my answer since I originally posted it. The original version had a bit at the top about it being against the spirit of the question but intended to amuse. It's not a practical solution at all.

Re 1: I'm not sure there was any particular inspiration. I've worked on quantum computing since 2004, so I guess I spend a lot of time thinking how to make computers in weird ways. Plus I spent college working at a number of ISPs doing tech support, so I used to be reasonably up on networks.

Re 2: Yep. In my field there is this idea of quantum sneaker-net. This is far more useful than my answer and potentially solves a major problem in the field I work in, but is also totally off the wall.

The basic idea is that you can make an extremely high speed low latency network for quantum communication by shipping giant refridgerators around the world on ships (using a quantum effect and the existing [non-quantum] internet). The paper is here: https://www.nature.com/articles/srep36163

Re 3: Somebody here pointed out pingfs which seems to take the idea to a whole new extreme, but reading the website it seems like it was already being worked on in 2011. I doubt anyone implemented my answer in any way. It was somewhat intentionally impractical.

jfitzsimons··on Sorting 1M 8-digit numbers in 1 MB of RAM (2012)
I have only ever answered one question on SO, and this was it. I used to be pretty active on some of the other sites (cstheory and the old theoretical physics stack exchange) but this answer got enough attention that I immediately vowed not to post to SO again, since it could only damage my track record there.
jfitzsimons··on Sorting 1M 8-digit numbers in 1 MB of RAM (2012)
Oh, cool! In my defence, I can only say that I believe my answer predates this.
jfitzsimons··on Sorting 1M 8-digit numbers in 1 MB of RAM (2012)
It's complicated by the fact that ICMP packets do not necessarily arrive in order.
jfitzsimons··on Ask HN: Are compiler engineers still in demand, and what do they work on?
Quantum processors don't have the same gate sets as are used in conventional computers, since they can be in superpositions rather than in just the 0 and 1 state. Instead of NAND gates, a universal set of quantum gates will include a gate capable of producing quantum mechanical interference, such as a Hadamard gate. Almost all programming languages are currently at this gate level, often implemented through Python or another high-level language which you can use to build the circuit (e.g. IBM Qiskit, or Rigetti PyQuil). Our focus has been on building higher level languages to get to a point where the level of abstraction is such that the same code can be compiled for both conventional and quantum processors, which is not something that can be done with existing tools without resorting to the extremely inefficient direct simulation of quantum processors. The exact output we shoot for depends on the processor. For the Rigetti processors, for example, the native set of gates are limited to specific single qubit rotations and specific two-bit gates (CZ or parameterised XY gates). It is sufficient to construct a program using these gates, although we implement a transpiler to convert between any universal set of gates. For various reasons (usually to combat noise or increase performance of the processor) it is sometimes useful to be able to compile to lower level operations. In particular, for most quantum processors gate operations are implemented using laser/microwave/radiowave pulses, and so ultimately you aim to a sequence of such pulses. Being able to tweak the shape, phase, frequency and duration of such pulses is important for maximising the performance of the device. This is usually done to minimise error rates, but can also be done in an. attempt to realise faster logic gates etc.
jfitzsimons··on Ask HN: Are compiler engineers still in demand, and what do they work on?
We're hiring compiler engineers at Horizon Quantum Computing (http://horizonquantum.com).