3 ms·
The first thing I did for my PhD in experimental quantum computing was to rewrite the lab control equipment in Python. It was written in LabView and while it wo
by ThePhysicist 4y ago
The first thing I did for my PhD in experimental quantum computing was to rewrite the lab control equipment in Python. It was written in LabView and while it worked well it was an absolute mess of (literally) tangled spaghetti code. I designed and implemented one of the first MVC frameworks for quantum computing in Python. It had an interactive IDE where you could execute scripts and store snippets (e.g. for qubit calibration), an instrument manager that allowed initializing and managing all lab equipment (locally and over the network), a data manager that allowed capturing and exploring measurement data in real-time and instrument frontpanels that allowed interacting with instruments (e.g. microwave sources or waveform generators).
Initially my supervisors were very skeptical and thought I'd waste my time, as they did not see any value in software development. Having a programmable and well organized software framework was absolutely instrumental for my work though, and I think I couldn't have succeeded at my experiments (demonstrating quantum speed-up for a simple quantum algorithm) without it. Today the software is still in use in several labs and as far as I know they also hired a research software engineer to keep developing it.
- nurbl 4y agoThis sounds like a good outcome. From my experience, the usual reason small labs setups use things like LabVIEW is that they are usually built by one PhD student without experience and this is the only way they can get something working in a reasonable time. But then the student moves on and the result is something that may work, but nobody can build upon. Still, the situation you describe is unstable because as soon as the budget starts to look uncertain that engineer is likely the first to go. I really wish institutions would take this problem seriously and set up e.g. a department wide development group, which could help build and maintain stuff like that and ensure continuity. Unfortunately this seems to be against the current trend of cutting costs. For example, at the university I used to be, they cut the small common electronics shop, which was a great resource since the guys there knew all about who had what equipment, kept spare parts from broken stuff, etc. But in the budget it looked like pure cost I suppose. It's hard to measure the value of common resources and nobody wants to pay.
- ThePhysicist 4y agoI think the software spread to multiple labs and was even used in a commercial startup, so I think it will live on. Also, Python skills seem to be increasingly taught at universities, so many PhDs have had some exposure to the language already.