So I was going to post every day then, I figured once a week, and I kept pushing it off. My excuses. I was tired. I was busy with school. It is better to get work done on a project then write about it (In reality there is a balance, but this is a list of excuses). Finals week. Oh and looking for summer internships…. Anyone interested in hiring me?
Well I actually have gotten a lot done over the last few weeks. So here it goes:
School:
At WPI we are on a strange 4 quarter like system, except unlike most quarter systems, the regular year is four quarters, and then if you also want summer school there is a 5th quarter. Think of it like a semester based school and cut each one in to two. The result is a very fast paced school where each term is only 7 weeks long. We just had our Finals Week last week, and what a week that was. Started off with a Discrete Math final Tuesday, which is one of the more challenging math classes I have dealt with and I have gone through multi-variable calculus and differential equations. The reality though is that I actually enjoyed the class, and it has give me a new perspective on how I analyse some of the software that I write. Then on Thursday I had my Chemistry final which in reality was not that hard, I just could not remember the name of one of the quantum principles. Then Friday it was my Intro to Electrical and Computer Engineering final and well as the lab test for Chemistry, both went fine, but also kept me busy until the end of the week.
My professor for my ECE class asked me and another student to work with him on a project that is targeted at creating a system for allowing students to program PIC processors using only MATLAB and a very inexpensive programmer with a USB interface. This turns out to be a somewhat complex problem, MATLAB and Microchip have some tools that work with each other but they are focused on the higher end ds chips that are askew of the target of this project. So in someways we are starting from scratch.
There is a product from MATLAB called embedded toolkit and realtime toolkit. These allow for MATLAB code to be converted to C code but is targeted for higher level systems, and adds a fair amount of overhead to deal with the abstractions of MATLAB, including dealing with infinite numbers.
We also wanted to keep this as open as possible and cheap as possible, so we have been working on the SDCC GPL compiler that works with PICs along side the GPUTILS a PIC linker and assembler, so far its looking like a great set of tools to work with. We will be creating a set of abstraction MATLAB libraries to allow people to make simple calls to start a PWM, ADC, DAC, Timer, etc… without worrying about the low level hardware configuration. Idea if you know MATLAB you can program a PIC.
Hopefully this can get ported to the SCILAB opensource tool as an alternative to MATLAB.
I am this week working on creating the actual programmer which is based on a PIC18F14K50, which will look like a RS232 to the computer, but will allow for hex files to be streamed into other PICs, or even stored in flash on the programmer for later hostless programming.
I plan to write more on this as the week goes on and I get a chance to deal more with it.
The other project AMQP. There has been progress on this, and I am moving forward, I got resources for working on this allocated from Fedora, and have built a simple Bugzilla publisher. I am still very unhappy with the API for working with Bugzilla aka (that stack of perl crap), but it’s what I have to work with. All of the work with the AMQP bus is being handled by this awesome framework that Luck Macken has written called Moksha.
To send a message all I have to do is:
from moksha import hub
ahub=hub.MokshaHub()
ahub.send_message('org.fedoraproject','a message')
ahub.close()
and to receive them
from moksha.api.hub import Consumer
from moksha.hub.reactor import reactor
class BugzillaConsumer(Consumer):
topic='org.fedoraproject.bugzilla.#'
def consume(self, message):
print message['topic']
print message['body']
bzconsumer = BugzillaConsumer()
reactor.run()
I am going to be working on writing some basic metrics front ends for fedora community this week. I will post a link to them when I have something up and running.
In other news…
I am in the Kansas City area, flew on United. That was a mistake, my legs do not fit in the seats, and I was not about to pay an additional $100 to rectify the problem. I also got into Chicago about 10 min early, and they did not have a gate open for us so we waited until we were 30 min late and half the people on the plane missed there flights. I just made it to mine, but my bag was not with me when I got to Kansas City. They did manage to deliver it that night which was nice.
It is nice to see all the grandparents, aunts, and cousins. Even to a trip up to Iowa and had “Dinner” in a local restaurant. Things have certainty changed everyone in there knew everyone else. One conversation would start at one end and then others would start gossiping about it. There certainly is something special about it, but I think I will stick to city life.
Road Bike racing season is starting up, I am looking forward to it, but at the same time a little worried that I may not be able to make it to many races as I have decided to take an additional class this coming term. We will see how it all turns out.
Oh and I am committed to blogging once every week at a minimum, I am going to try to be a little more frequent then that.
GSOC just opened up for mentoring organizations. Looking to perhaps snatch something up there.
Life, Love, World
Brennan Ashton
Posted in Computers
Tags: FOSS, Life, WPI