Archive

Archive for the ‘Programming’ Category

Teaching

August 20th, 2008

So I spent a good 2 hours today teaching a colleague about FMS Analyst.

FMS Analyst is the program I have written for interacting with the FMS that I work with. It’s designed for data collection, but in order to facilitate it it has all sorts of bells and whistles so that the user can focus on the data and not the implementation.

Anyways, it’s still kind of complicated. I’ve written a HOWTO for a specific scenario in addition to the user’s manual, and we went over the HOWTO piece by piece until the guy understood what was going on. It took a while. Not that he’s not a bright guy; FMS Analyst is pretty complicated and he had never worked with it before. He’s read the user’s manual and the HOWTO, but reading the documentation and hands-on experience are two entirely different beasts.

So we got it mostly working, except the FMS crapped out. We were running part two of study one of the KLAS scenario, but we ended up only getting part one data, because it failed to correctly enter in the route restrictions for FUZZY. Also, I think I cleared an error message that needs to be recognized, and so missed one of the key points in the flight. I fixed that problem, anyways.

So FMS Analyst is going pretty well. :)

Programming, Robin, Work

New monitor

July 26th, 2008

I just got a new monitor. It’s a 22″ Acer LCD, 1680×1050. Awesome!

Also, this makes working from home a hell of a lot easier.

DSCF1579.JPG

DSCF1581.JPG

Programming, Robin, Work

Scripting

July 8th, 2008

Well, I’ve found myself enjoying one of my favorite past-times again, this time on the job. I’m writing some software for analysis of the FMS, and I need a way to automate complex sequence of batches and instructions. The answer? Write a scripting language. So I’m writing a language, but this time I get paid for it. Kickass.

Programming, Robin, Work

Projects

July 4th, 2008

So I have two real projects at work. One of them is making a good programmer- and analyst-friendly interface. This is harder than it sounds. I have a basic API to deal with, but anything involving the flight computer is screen scraping and keyboard pressing, with delays for the keystrokes to take effect. The things they want to be able to do with it are difficult to get it to do.

The other involves isolating some functionality from a monolithic research program that my department works on. It’s a matter of ripping functionality out until I am left with the bare essentials. It’s alternatively fun and not fun.

Anyways, so I have these two projects, and I’m working basically on my own with them.

Programming, Robin, Work

4 hours for last week

June 15th, 2008

Well, I just finished four hours of programming, working on a front-end that demonstrates the library for accessing the hardware FMS that I have written. I am giving a demo of it on Tuesday, and I really wanted to make sure it would be up to snuff. My supervisor said that the fact that I had anything at all was excellent for this early on, but I want more. I’m showing this off to my supervisor, my project team lead (my boss), and the department head (!). I want it to be slick. So, I’ve written a small document which I’m going to hand out, and I got my program where I want it to be.

The sucky part is that, when I went to record my time, it turns out that time on a Sunday goes toward the previous week. I had figured that I would have 4 less hours of work this week, but not so. Instead, I merely have 44 for last week. Blast.

Programming, Robin, Work

Small brain trainer

May 3rd, 2008

By request in #intp, I have written a small N-Back memory test program. It’s a quick and dirty hack, in python. Find it here.

Programming, Robin

Puzzle solver finished

April 22nd, 2008

I finally finished my puzzle solver. It’s pretty awesome. It takes a category-feature matching puzzle and solves it using deductive logic rather than by brute force.

I actually finished the code yesterday, as well as most of the report. However, I spent several hours today cleaning it up. At this point, it works, it’s simple, and the algorithm is encoded in two functions. Once of them process an exclusion rule, and the other merges two groups. The code looks amazingly simple.

Lord knows it took me long enough. Getting this to work has been quite an affair. But now it is finished and documented. It’s 232 lines, though; the solution was surprisingly small.

Programming, Robin, School

Independent study progress

April 14th, 2008

Well, I’ve finally finished the grammar for my C compiler. What has resulted has been a very stripped down version of C, but one that I can actually implement. There are no floats and no arrays (although array accessing works, sort of). A lot of the syntax has gone bonkers. Anything that is successfully parsed by this compiler should be successfully parsed by a real C compiler, but not the other way around.

Arrays are a bit of a kludge. Arrays are now accessed purely as pointer dereferencing. That means the behavior for multi-dimensional arrays is a little different. In a normal C compiler, “x[y][z]” is translated as “*(x + y*sizeof(x)+z)”. Mine is going to handle it as “*(*(x+y)+z)”, making multidimensional arrays into a tree of pointers.

Programming, Robin, School

Postponing the inevitable

April 11th, 2008

I’ve been postponing work on the compiler itself for CS498, my independent study. It’s time to get back to work on it.

There’s no way I’m going to be able to write a full C compiler. That is out of the question, I think. However, I can write a compiler for something that approximates C. That won’t be too terrible, I think.

It’s going to be an ugly hack, but it should work.

Programming, Robin, School

Headline: CS Professor Hates Students

October 22nd, 2007

You heard me. It’s true. The professor for CS112, the first programming class in the CS curriculum, hates his students. He hates them with a passion. He has just assigned a lab assignment that proves this.

I am a TA for this class, and so I need to do the lab assignments ahead of time so that I know how to help my students. This lab is going to be annoying for me. It is going to be hell for them. It is an assignment in GUI programming, of all things. This lab is harder than the project they just turned in.

I expect it to take me about two hours. Experience tells me that it will take them five times that. Ridiculous.

Oh well. Trial by fire to weed out the weak, apparently. Let’s not have any CS students who didn’t come to college already knowing how to program.

Programming, Rants, Robin, School