Monday, January 7, 2013

Yeeaaaaa

http://www.youtube.com/watch?v=GrghtXWfVYM

I have a couple cool things to post on I just need to post the pictures and stuff!

Purifying my last protein for my paper today, woohoo! Only 107 constructs!

Sold a HeNe laser on eBay. I bought 27 of them for $107, crazy deal. Been playing around with them a little bit. Most I have tested are Red. No idea what to do with them yet or if I should just sell them all and make a bunch of money. I sold that one for $25. Yep, one of them for $25, hah.

 Sending some a plasmid containing Taq polymerase to a guy in Estonia for DIYBio.

Have a meeting for the Art/Science Fellow thing tonight. Get to drink wine and act like a fool. I am pretty good at that. Glad we already have a prototype for our project! The Chromochord. BOOM!

 Worked a little this weekend on the Spectrograph Camera I am really having a hard time wrapping my head around what wavelength of light determines a "color" or really if there even is any such thing as a "color". I didn't think this would be so much brain effort.

Friday, January 4, 2013

Programming Languages

I was looking at the job requirements for some of the jobs at Dwave, the quantum computing company. For a software engineer they want someone that has experience with C and Python. Does that exist? I thought those things were mutually exclusive. Besides that fact they have the typically computer/hardware/software engineer requirements, i.e. we only want people skilled in every platform and every language in existence. haha, I thought people stopped asking for that.

Be able to write device drivers for Linux, check, Windows? WTF?
Experience with internet protocols, check, and RS485? WTF?

Don't worry I am not applying I just thought the requirements are kind of _out_ there.

Kinect

I spent like 6 hours last night trying to get my Kinect to work in Linux it seemed so easy from the OpenCV website. I should have known better. I actually got the Kinect video working the problem was with the body and skeleton tracking functions which are part of NiTE. When I downloaded the latest version of NiTE 2.0 there didn't seem to be any files in the download or rather the correct files! WTF! I didn't want to install an old version of NiTE for fear that it would break my installations of OpenNi. Dahhh!

We will see how much more effort I put into that.

I need to express my last protein today before I submit this paper we have been sitting on forever.

I fixed a Fluorescence plate reader the other day, it had a bad power supply need to figure out what to do with it.

I need to find a decent camera for my spectrography project and wait till my money arrives from this Fellowship/Grant thing. Until then I need to find another project.

Thursday, January 3, 2013

Hmmm

Was in early today. Just relaxing a little bit figuring out what I am going to do today.

Been looking for a nice low power mini PC that can run Linux that I can use for Robotics and I think the Beagleboard XM is the best thing out there at moment. I think the main problem is that I don't want to spend 87625171651276 hours just trying to install Linux so I can run OpenCV and bullshit. Raspberry pi is backordered like hell and in all reality is really slow and doesn't seem to be able to compete with the Beagleboard. The Beagleboard xM is however over $100 but you get what you pay for. It also has really nice Linux support and alot of developers. It has plenty of GPIO pins. I think it should work out great.

I think the current problem with technology when developing something is that lots of it needs to be done for scratch. yeah it would be great to use an Android phone but you basically have to port a whole operating system first. I probably spend most of my time searching for the proper tools to build what I want to build than in actually building it!

I used to like to build things from scratch like when I wrote IP Sorcery and refused to use libnet. It could have made things alot easier but I wanted more control and to learn how to code better. If I had to do it again I probably would have coded it the same way but nowadays I think alot more about how not to waste my time on stuff I can just spend $50 on.

Wednesday, January 2, 2013

Wheew

Found a Monochromator in the lab. Tested it and it works great with something to narrow the slit width. Now all I need is a new camera and a way to pipe the light into the UV spec so I can measure light intensities coming from the monochromator. Lunch time, left over Chinese take-out. Yum.

Hmmm

I forgot about the spectral response curves of the webcam/camera. This is really insane. haha. I thought it would be some simple project and now it is turning into something crazy. These people use a monochromator to create a spectral response curve. They do a really nice job even taking into account the efficiency of the monochromator. http://www.maxmax.com/spectral_response.htm I have a UV-vis in my lab but this means I would need to acquire a monochromator. That means spending money. I will need to think about this a bit before I continue on.

Coffee was good this morning.
My lab bench is a mess.
Will probably go climbing tonight.

Tuesday, January 1, 2013

Interesting problem

So the color that is actually detected by a camera is not absorbance as we usually detect using a spectrophotometer, it is reflectance. Such as Red light being the reflection of Red and the absorbance of Blue and Green. This is going to make this project that much more interesting. I took some spectra today and also some webcam pictures. I am going to try and deconvolute them later and see what I can get. I plan on using OpenCV library with C to analyze the pictures. I am not that big on colors and image processing so I need to learn alot. So many things effect camera images such as lighting, shadows, resolution it is going to be very difficult and interesting. Only half purified my proteins and instead spent lots of time to find decent webcam software for Linux. I think I will also mess around with Blender a little bit tonight if I can make it work. Just because it seems like a cool program but also because I want to be able to use it for 3D printing. Maybe I should find something easier? Chinese take-out for dinner sounds good.

Camera Spectroscopy

Today I am going to work a bit on converting RGB values to spectra. I am going to take pictures of solutions and UV-Vis spectra of them and see if I can create any equations to deconvolute the camera images into the UV-vis. I also need to purify a couple proteins for a paper I am finishing up. Hopefully I can send it out in the next week or so. I will post later on how the experiments go.

Monday, December 31, 2012

Spectroscopy

Absorbance, transmittance and reflectance all different types of spectroscopy. What I want to try and do is be able to acquire a visible spectra of something using a camera. Decomposing RGB values into a spectra is going to be tough but I think if I base it on empirical values from a spectrophotometer. Wavelength might not be too crazy but intensity is going to be the tough part. Was working on using a webcam today. I think I need something with a little better resolution.

A 96 well plate reader

So I just received a fellowship for building a biosensor, The Chromochord. The old version of the Chromochord had a lag problem in that it took a certain amount of time to scan and read the optical spectrum of each well. I want to do this all at once and have so far come on to two solutions. One is to make a sensor for each well using photodiodes. The other is to use a camera or CCD of some sort. There are definitely ways I can do these things without making the device broadly applicable but that is not what I want. I want people to be able to use a device such as this without having to modify it much or at all. I really really don't want to use diffraction grating spectroscopy. Good lord is that stuff pitiful but I just might have to suck it up and do it. Anyone know much about using cameras in extremely low light?

Wednesday, December 5, 2012

Build your own Synthesizer Part 3

I think the Arduino is one of the coolest things to come out in recent years it allowed me to go from someone who knew nothing about electronics to prototyping and building ideas in a very short period of time. When I started graduate school at the end of 2008 I literally had zero electronics experience. I always wanted to teach myself but I was daunted by the idea of using assembly language and no libraries. This is a realistic fear especially if one is using Texas Instrument microprocessors. They really need some good tutorials besides their code examples. Of course I had a really strong C programming background so that helped. I use the Arduino for anytime I want to interface hardware with my computer. This made it ideal for this project. I wanted to build a musical instrument or some type of synthesizer since I guess all the sounds are synthesized, it is technically a synthesizer. For all of this stuff I will be using Linux because it is so much easier to interact with devices such as the USB port that the Arduino will be plugged into. In linux that will be /dev/ttyUSBX where X is an non-negative integer (0,1,2,3). So our goal is to have it that when we press a button the Arduino sends information through USB to our computer which can then translate it into some sort of music. A good programs to help with this are ttymidi . The ttymidi program allows us to interact with JACK and fluidsynth to generate the actual sounds. So first we need a button.

Tuesday, December 4, 2012

Build your own Synthesizer Part 2

What we will learn how to do first is how to have all the software running and working together so that we can hear MIDI output through the speakers on our computer. So hopefully you downloaded and installed all the software I suggested last time. Now we need a terminal preferably root. What we need to start first is JACK. This program allows all the programs we use to communicate with each other and also with our speakers. The easiest way to start it is to run "qjackctl &" . This should open up the JACK GUI. Once it is open we click start.   The next thing we need is to have fluidsynth running, which we can start up with "qsynth &". Qsynth is a software synthesizer frontend GUI for fluidsynth. It takes all the MIDI commands and will generate our music. So now we have the minimum programs we need to run. We can test it out using rosegarden or another MIDI program. What you need to do after starting rosegarden is to open up the JACK connect button and setup the connections they should be as follows: Under the ALSA tab rosegarden or your software should be connected to FLUID Synth. Most common problems when using my own synthesizer for me have always been having the correct connections. Next we will work on setting up the arduino and buttons and ttymidi.    

Monday, December 3, 2012

Build your own Synthesizer Part 1

I guess this is where I should start as this was the basis for my current main project the Chromochord.

This is not a guide for building a standalone synthesizer as all MIDI sound generation will be done through a computer. All the software and hardware that I used to build my own synthesizer is Open Source, WOOHOO! I did write some custom code though as any hardware/software hacker needs to be able to do for a custom system.

What one minimally needs to build a synthesizer such as the one I built:

A computer running Linux

An Arduino or your favorite microprocessor

Some Buttons, Wires and Resistors

Probably a sodering iron unless you are going for a ghetto fabulous project that is duck-taped together (I admit I have done this before).

On my Dell laptop I installed Ubuntu. Not necessarily a big fan of Ubuntu but Fedora was being difficult and I didn't want to spend all my time just trying to make my video drivers work. I'm too old for that. There are a number of cool and awesome MIDI programs for Linux, when I first started I was so excited and spent a bunch of time messing around with alot of them including Rosegarden and Hydrogen. These are not what we will use but are pretty cool for just playing around and learning about MIDI sound generation.

The software I use and what you probably need are:

JACK audio software

Qsynth

Sooperlooper

ttymidi

 

I think all of these programs can be installed with yum or apt-get except ttymidi, which can be acquired from Here I chose to use the arduino with this project because it already has a serial MIDI interface library so you don't have to code one up on your own. MIDI messages(See here) however are pretty straight forward and would not be that difficult to code up on your own say if you were using something such as the MSP430. Once you have all your hardware and software then we are ready to move onto the next part!