Skip to main content

Software Projects

This is a highlight of projects that I have done, people who helped or I helped and the approximate dates.

OSF Admin

October 2015 ~ COS

Current Contributors (GitHub #4301)

September 2015 ~ COS

File Notifications (Github #3200)

April-August 2015 ~ COS

Knowledge Based AI

May-July 2015 ~ OMSCS

Fix Dragging Issues (GitHub #2571)

May 2015 ~ COS

Small Refactor of Notifications (GitHub #2402)

April 2015 ~ COS

Permissions Fixes (GitHub #2223)

March 2015 ~ COS

NoteTaker 2.0 (GitHub)

2013-ongoing ~ JAC
With learning Python and needing a project to test out some of the ideas I had, I started to recreate my Perl version. Along the way I had ideas about how to make improvements. Since then I have put it up on GitHub and been improving it since from being able to run more than just my notes database, to completely revamping the layout to track notes for different projects. It also keeps track of time on each project, making reporting a hundred times easier.

Fade (GitHub)

2014 ~ JAC
Quite a simple little project that might come in useful on a busy number-ridden display. This calculates an list of colors given a starting and ending colors and number of steps. With the chance of drama in python and the pyepics project, neither are mine, this could easily be used to help keep track of changing temperatures on scientific instruments' displays.

MFR_FITS (GitHub) (Center for Open Science)

April 2014
Attended Pycon in Montreal and sprinted with the COS guys. They helped me quite a bit getting into testing modules.

This is a module for their Modular File Renderer, but it's a bit stuck on dependencies at the moment. It can take a .fits file from astronomy observing and makes a .tiff. Then puts it up as a webpage. Not much there, should really take the time to make it better.

UKIRT Handshake for Remote Operations and Publication

2010-2011 - JAC
This was a big project mostly done by Tim, Craig, and Russell. I helped with the final stages of the project and with most of the testing to make sure that we could observe with UKIRT remotely. When Russell left I was in charge of the parts he left behind, namely the Perl/Tk GUI and the EPICS including a state machine interfacing with a PLC (Allen-Bradley).

Of course there were hiccups the first few tests. I did troubleshooting to find and fix the problems in the Perl, EPICS, and the state machine. With the errors smoothed out the telescope has run quite nicely since then.

I wrote a paper for the SPIE conference in Amsterdam, NL in 2012. Craig and Tim contributed. I presented the topic as well.

Receiver A GUI

2012-2013 - JAC
Worked with Ryan, Craig, and Maren on this one.

The old RxA computer ran the control software off of 5.5 inch floppy disks. With a lack of working drives, this computer needed to be replaced quickly. We decided to go with a real time Linux box.

I developed and tested a user interface that monitored the DRAMA task and sent actions to the task. I designed the interface to be small and compact when only needed for general monitoring with the ability to expand the window to show more detailed numbers. There are several green/red indicators that indicate the status of the most important parts of the receiver and controlling software.


2009-2013 ~ JAC
Even as a side project it has saved me many hours of flipping through notes. This is basically just a Perl/Tk GUI that allows me to type text in and then save it to a text file. Looking for past commands for something I haven't used in a long while is very useful. I put insights and what I am working on.

I have tried to add checklists, reminders, timers and all sort of things, but I find it best with the most simple input and search. Right now I am moving it into Python/Tkinter/sql which helps me learn all three tools. Using sql it is really simple to be able to take a note and put it into the right project. And very simple to handle in general. This might lend itself well to many other interfaces and might be good to keep with me and keep upgrading.

Dynamic Bolometer Mask (DynBoloMask)

2012-2013 - JAC
Using the results from setup, the Quick Look Pipeline for our newest instrument at JCMT, SCUBA2, it makes a new mask for the bolometers, pixels essentially, and applies it during the setup. This cuts helps the signal by turning off noisy bolometers.

Rover Testing

Nov 2012, Mar 2013 - JAC
Rover is a roving polarimeter that can be moved in front of a few instruments in the JCMT cabin. Along with Craig we tested and troubleshot the setup before a successful observation run. I helped reconfigure some C code to better control the instrument. I tested it again a few months later and helped test integration into the VLBI, Very Long Baseline Interferometer.


2012-2013 - JAC
The K-mirror de-rotates the image from the tertiary mirror of JCMT to an naysmth platform. This mirror's rotation can sometimes go out of range and the gears can grind in the physical hard limit. In the software hard limit micro-switches are pressed and the software kills movement and then drives it out. However, the shoulders that pressed the micro-switches could be passed if the momentum was enough. A combination of power-cycling or losing current status would allow the motor to drive it into the physical hard limit, potentially causing damage.

I suggested that new, longer shoulders be made. New shoulders were fabricated and installed, but in testing I found that if it had driven into the software hard limit it would have destroyed the micro-switch on the right side. When done these will not allow momentum to carry the micro-switches past being pressed.

Louver Handling System

2011 - Joint Astronomy Centre
The louvers open on the side of JCMT to allow structural cooling, causing the telescope to settle sooner and therefore need less calibration. Ian and I collaborated on this project. He programmed the PLC and then gave me the registers that would have the outputs and the inputs.

I developed an EPICS database to interact with the registers and then made a medm interface so it could be controlled remotely to enable cooling before observing was to take place.

Small Tools

Although small these tools are/were invaluable. (Joint Astronomy Centre)

  • hexcon - basically a way to convert to hex, nothing to fancy. Was able to read binary serial traffic and parse out what was wrong with the communications.
  • logreader - The telescope has tons of logs so a log reader helps sort through.
  • noiseSep - Takes data and separates out specific columns for use.
  • spikeFinder - Finds spikes in numerical data. Original was written in C, but was somehow cobbled together from DRAMA but didn't have connections to other tasks. I figured out what was happening and rewrote it in Perl with 1/3 the lines of code. Probably could slim it down even more with python.
  • sc2Qui - Calls a script on 8 computers in parallel to make the systems quiescent, hence the weird name. This is used every night by the operators at JCMT.

ACSIS Temperature Monitoring

March 2013 - Joint Astronomy Centre
Given PLC registers, developed EPICS database, logged to our archive.

Ongoing Computer Upkeep

2008-Present - Joint Astronomy Centre
I help the system administrators by replacing hard-drives and other hardware at the summit on our many machines.


Popular posts from this blog


John studied himself in the mirror as best he could through tears. Red, puffy eyes stared back at him, a running nose already leaked just a minute after using a tissue. He couldn't do his job well if he always looked like this. He readjusted his coat and a sneeze caught him unaware. At least he had an appointment with the doctor today.


 "Mr. Filner, I am afraid that the results were inconclusive." Dr. Snozuk came bustling into the small room a clipboard in one hand with papers folded over the top and a pen in the other hand. "We only found one thing that you seemed to have a serious immune response to, and it simply doesn't grow in this environment."

"But if I am not allergic to anything else why do I have all the symptoms?" He tried not to wipe his nose on the jacket sleeve. Dr. Snozuk must have noticed John's involuntary half-lift of his arm because he grabbed the box of tissues behind him and set it next to John.

Dr. Snozuk waited while…

Manufacturing Coming to a Place Near You

It’s old news, 3d-printing, unless you just got a printer for Christmas.

I have been following the advent of consumer 3D-printers for quite a while, and they’ve basically revolutionized how an individual (normal, not owning a fab-factory) can think about custom trinkets or replacement parts.

Other than the price why am I excited to get a 3D-printer? While watching them get better and cheaper, it really has to do with two things: Exposure to the tech at COS and a major failure almost exactly 10 years ago.

First a bit of panic about the fact that it has almost been 10 years since the end of my undergrad degree. I guess I am celebrating by taking two graduate courses: Computer Vision and DB systems… Ten years later. It brings up some interesting memories of how bad a student I was, and how my senior project suffered because I had no clue what I was doing. I needed to design a circuit board, get parts manufactured, and write a program that would all be part of a telescope system. Much too mu…

Parallel Dreams

I thought I was prepared for anything, but as the alien creature advanced on me I still sat in shock. It studied me as it came toward me, carefully stepping around what I supposed were the corpses of people I had known quite well. Its head was slightly elongated and sloping back with what looked to be extra eyes along the edges, a blue stripe connecting them.
Something shifted next to me and I saw that it was Todd, but he didn’t look too well. He perched on his seat with blue glowing things evident on his skin. The being’s attention was on him as well, then a surprise.
“You will not be like him, he is merely a breeding colony. Important but otherwise useless.” Its attention swung back to me. How did it know English? “You on the other hand, will be like me.”
Of course a smart remark right now might save me from a fate worse than death, but nothing came. The creature passed within a couple feet of me and plucked a blue-glowing orb the size of a pea from Todd who seemed unconcerned.
“Hold ou…