Thursday, December 31, 2009

Slowly starting to get a bit of a handle on this whole computer security thing. Bit different than what I am use to working on. So a lot of learning is needed.... But Have been working through some stuff on Webgoat to get a handle on things, and playing a bit with javascript. Just hoping a big aha moment comes soonish.

Also got a little Blade mcx. So much fun to fly. Even made a couple of precise landings. Hopefully next summer will even manage to pick up a plane or two and fly regularly.

And ML and I got the scratch holograms working the other day. Have tons of lexan so should be able to do some really cool things with that.

Saturday, December 26, 2009

Have been so lazy about posting anything lately. Have gotten into a routine with work mostly. And got a copy of COD4 for the ps3, so have been 'busy'. On the other end of things though I am in a new adventure of web application security. Kind of complex since I haven't done any before. Starting to make sense though. Also a little system level security. Setting up a snort server in a virtual machine with freeBSD. Could be interesting. An excuse to play around with BSD Jails. Haven't really used that yet much. Similar to solaris containers. Concept is easy to understand, and likely not that hard to use regularly once I use it a lot.

Also ordered a book on rootkits and another on honeypots. Could be interesting to build my own security test network. See how things work at a finer level. Kind of a shift in direction for me, but still interesting. And can use the number crunching stuff to deal with brute force decryption.....

Monday, November 30, 2009

Have to leave soon for work. But want to still get a quick post up as I am not doing many during the week. Hung out with ML over the weekend and we played around with scratch holograms. Pretty cool stuff. Fairly crazy that it works.

Other than that just working on some programming stuff. Truing to get better with openGL and the such. Need to rewrite the graphics engine for Game of life so that it uses vector buffer objects instead of the depricated immediate vertex display mode. Won't be terribly difficult, but will take a little thought. Think the easiest way is instead of changing the verticies based on the state of the board, will change the display color. The only thing is that means that each cell will actually be drawn, while right now some are and some aren't. Think that will be easier than rewriting both the vertex and color vectors each tick/cycle of the 'game'. Especially since that will involve destroying a dynamically allocated array, and creating a new one each time. With changing the colors it just means changing the contents of the color vector. Will have to see. Probably start working on that and a few other little ones after work.

Sunday, November 22, 2009

Ok, the simple toroidal board version also works now...... Think the cool interface is where it actually looks like a torus will take a long long time to do.

Saturday, November 21, 2009

Wrote an implementation today of John Conway's Game of Life with openGL for the display. It is pretty cool Right now it uses a simple flat board. I want to add the option to choice a toroidal board. Also would be cool if that board could also be displayed as a torus and the viewpoint in space could be navigated with the mouse. That however will be much more difficult; I am going to need much more graphics programming experience before that takes place. Though this is pretty cool. A vast improvement compared to the one I wrote back in high school that used ASCII art to display the state of the board and the such. Think this one might even be shorter. Wish I still had the code somewhere from my old version. I know I had printed out the source way back when, but I doubt it is still around. Have a bunch of things I want to do to enhance this though. Everything from the data structure (using a simple set of 2x 2D arrays right now), graphics, options, and add some openMP segments as well to utilize multicore processors. Not that it really needs to go faster. I had to add in a 'do nothing' type function to slow it down a bit so that it is a bit less of a blur on the screen. I want to do something better with that though. So the original idea of using this as a practice project for CUDA is sort of being scrapped. Can't even imagine the size board I would need to require that much multithreaded performance.

Monday, November 16, 2009

Spent the weekend working on some openGL tutorial programs, and playing around with the code a bit. Did the basic stuff like drawing a circle with lines, and a spiral. Also worked on a version of a squire that you can move around the screen with the WASD keys as direction keys. Have to now take the stuff I learned from that and apply it to the simple version of Game of Life I wrote. Want to change a few things. Going to probably switch from an array of bools to a bitmap using an array of 64bit unsigned ints.

This will be important when I write the CUDA version. Also I think there is a way that I can use that directly to define the image (if each cell is represented by a single pixel) without doing a memory transfer from the graphics card to main memory for processing with openGL. Just have to read up a bit on it. That would be so critical with such large datasets, since that would very quickly become a bottleneck.

Also should get off my arse and do some more arduino stuff. Haven't done much of that lately.

Monday, November 9, 2009

Have ganglia up and running now. have to work on some of the other tools i installed, get them all configured, then start building compute nodes. Should be interesting.

Tuesday, November 3, 2009

I can actually see my desk now..... and dual monitors are great when they are not on different desks. I am very pleased with how things are coming together, even though I am still a bit short on space and need pick up some 3 or 4 U rackmountable cases. Can probably take the NTI KVM out of the rack as well, give me some more space there.

Monday, November 2, 2009

Looks like I am going to have to bite the bullet and finally learn openGL for the program I am working on right now. From what I have heard it is going to be painful, but well... need to actually display the results in graphic form. Figure it cant be more mind bending than CUDA. None of the "wait, how many threads did that line of code just make? where is a calculator...." situation.

Sunday, November 1, 2009

CUDA workstation

The core2 duo workstation is actually running correctly now. Still a couple minor things to deal with, but overall, I am pleased. It is running Ubuntu 9.10, with the latest version of the cuda toolkit. I ran some test code, and it works. The next steps probably will involve a few upgrades, as well as actually utilizing the system to practice doing cuda programming. It should be an adventure.

Tuesday, October 27, 2009

Well, the core2 duo system is up and running. It is a bit flaky, not sure if it is a heat issue or what. Trying to sort it out. A bit annoying. But hopefully nothing too major. Having it crunch some BOINC projects right now. It is mostly for working with CUDA, but I have too much going on to sit down and write that stuff today. Hell, the case isnt even completed yet. Think that comes before writing the software. Want at least the major mods done. Not so worried about the purely aesthetic part like painting it.

Tuesday, October 20, 2009

Sempron

Well, have the AMD sempron system up and running again. Have one of my major UPS backups up and running. Slowly rebuilding my network and the such. The sempron is overclocked to 2.2 ghz and dedicated to running boinc at the moment. Hopefully I can get some of my other toys up and running fairly soonish. Just so much to do to make it all work. And really need to get new disks, ram, cases, and power supplies for most. Makes it difficult. But I am slowly tackling them.

Friday, October 16, 2009

I am finally getting off of my rear and starting to learn CUDA. Got an Nvidia Quatro NVS 290 graphics card on ebay to use with the Core2 Duo system I am getting from Griz. Should be a good initial workstation for writing and testing CUDA code. Will eventually build a i7 quad core setup, possibly even with a couple Tesla boards, but have to start small for now.

Friday, October 9, 2009

thoughts on tools

Find some of my thoughts on tools on the Motoring North East site.

Thursday, September 24, 2009

woodworking

Set up a second blog specific to woodworking and that sort of stuff. http://bowyer-scientist.blogspot.com/

Wednesday, September 23, 2009

Not going to get rid of all the deep gouges I made on accident with the rasp without altering the bow, so am going to keep it that way. I put a couple coats of gun stock wax on it, and it looks great. Need to find my leather working toolkit so that I can make the handle.
Working a bit on the current bow building project. Its a bamboo backed round belly bow, with the belly made of Ipe. I am getting close to finishing it. Yesterday I did the last bit of the tillering. Had gotten most of it done last summer, then just never got around to finishing the tillering. Got the weight down to something reasonable, not sure exactly what the pull weight is since i dont have a pull scale. But I can string it and pull it back. It is a bit heavy, so I will have to work out. But it should be in enough for hunting if I ever decide to try. Got to work on the fine sanding and the finish on it.

Saturday, September 19, 2009

Element 3

Passed the FCC element 3 exam this morning, earning my General Class Amateur radio license.

Monday, September 14, 2009

VLF

Last night I decided to try to fix the low frequency reciever I built a while ago that wasn't working quite right. I rebuilt the whole thing on a smaller experiment board, and mounted it inside of a mint tin. Then I realized that I used a 160 microhenry choke instead of a 160 millihenry choke. That might explain why it isn't recieving anything, the choke is filtering out everything. Will have to pick up an audio transformer to use in place of the choke when I get a few dollars. That will take care of the issue I think. Then it should work well and can pick up some interesting signals.

Hopefully I can find an air dielectric variable capacitor in trees random box of parts. Want to get an HF reciever built before we go on a DXpedition. Should be fun.

Sunday, September 6, 2009

Quote of the Month

Thanks M.L. for the quote of the month:
" like you really need to be running around with lightning bolts"

Saturday, August 29, 2009

Alpha


Yet another paintjob finished. This one is a red metalflake. One of my favorite rockets from when i was younger, hopefully this one flies as well as the one I had back then.

Friday, August 28, 2009

Done the paint job on this simple rocket, except for a few coats of clear gloss. Takes a while to get everything all smooth and perfect. But this is the first one that I am actually proud of the finish. Most of my old ones sort of sucked when it comes to the finish.

Should figure out a design for a simple display stand for these rockets that can't stand on their own.

Thursday, August 27, 2009

Been a bit busy with real life stuff. Howiever have also been working slowely on projects still. Have been working on my rocketry projects, getting some painting done, and repairs on the scale model of the Black Brant V. So far things are coming out well, however I need to pick up more primer and some clear gloss as well. Hopefully I will be able to get a few people together soon and do some launches. Organized some of my rocket parts too, hot glued some dividers into a box to make storage easier. Have tons of random bits and pieces (big supprise).

Also am really interested in getting into hand launched R/C gliders. Will have to look into getting a good electric glider to start, get some flight time in and then start looking into ones that are competiton legal. And should build some old timer type freeflight models. Found a bunch of interesting article reprints from the 30's. Should be fun.

Started selling some of my computer hardware that isnt getting much use so I can focus more on the models, robots and embedded systems. Doing very little with clusters and the such. Would like to play with CUDA to do some high end simulations for airflow and stability for model designs. Would be an interesting project.

Wednesday, August 19, 2009

Rockets

Worked today a bit on my rockets. My collection of model rockets was destroyed years ago and am slowely rebuilding a collection of models. Have a bunch that are half done at the moment, in that they need all of the finishing/painting. Worked a bit on painting the scale model of SpaceShip One. It is a very cool model. I am putting a lot of effort into the painting, since that is my greatest weakness in model making. I love putting the things together, but rush the whole painting part. Which was the biggest shortcoming of my older rockets. Hopefully this will help me become more skilled with a can of spraypaint.

Also worked a bit on another kit I had laying around. I laminated the fins with paper. Not a very difficult technique, but something I haven't done before. I think that it will make the finishing much easier, as the fins are now nice and smooth. Always found dealing with the grain of balsa a bit of a pain in the arse.

Also going to put together a set of notecards with all the important launch data for all of the rockets. Should make it much easier at the field when selecting motors.

Wednesday, August 12, 2009

Ornithopter


Decided today to make the Orly ornithopter project from Make vol. 8. Kind of a cool one day project. Learned a few things from it. Mostly about the importance of the crankshaft in an ornithopter. Kind of screwed up on the first one and the speed of flapping was very slow, made a second one and it works much better. Just have to tune it up a bit and get a better flight out of it. Right now it banks to the left a bit, so have to deal with that. Also want to lighten it up with some sandpaper and get some better performance out of it. Once I get this one working I am going to probably try some more complex ones. Found a bunch of old article reprints online from different aviation model magazines.


Also put some liteflight 2" wheels on the arduino vehicle platform. Much better traction with that; doesnt slide around all the time like before. Now its time to add some more software and design some good sensor modules for it.

Friday, August 7, 2009

Want to design a completely open source humanoid robot kind of like the robonova. Think that with the openservo boards and a 32 bit arduino like controller it would open up some serious functionality and be very powerful.

Been playing a bit with the little BEAM projects i have laying around. They are also lots of fun. Will post a pic of all my robots sometime.

Wednesday, August 5, 2009



Yay for R/C sailboat finally being finished. Have had it for years and never gotten around to finishing it because I never had any servos for it. Had some laying around, so I finished it last night. Think it came out well. Should be lots of fun.

Thursday, July 30, 2009

R/C

Been working the last few days fixing up all of the R/C gear I have laying around. Completely rebuilt my onroad glow powered car. In the process I snapped the arm on the servosaver :( Going to need to get a new one to steer. However, I was able to get the motor tuned up which makes me happy. Now just need to get a car for my brother so we can race.

Also trying to organize my projects. I have way too many open projects at the moment. Got to try to focus on them one at a time and hammer away at them. Get the number down so that they are a tad more managable. Have like 7 or 8 unfinished rockets. Most of them just need to be painted. A few need some more structural work. But for the moment I am focusing on a balsa and tissue paper model I have. It is coming together alright. Haven't built one before so it is a bit of an adventure. Must say I like laser cut wood more than die cut in a kit. Hopefully can get through some more of that tomorrow. Have the tail surfaces complete, and the fuselage laid out. Next is the wing and then all the struts for the wing and fuselage.

Also found a cool program to play with. caDNAno (www.cadnano.org), for designing folded DNA structures. Also reading the Nature article describing the folding process (Nature 2006, 440:297-302)

Friday, July 24, 2009

Have so many project ideas running through my head. Need to have the resources to work on some of them..... Working on a small balsa and tissue paper model I have had sitting around for a while. Slowely getting that done. Limited by the speed that the glue dries. Probably finish it by this weekend.

Have also been fixing up all my R/C gear. Haven't done model airplanes since 2000. Use to have a couple nice ones. I am looking into the electric park fliers. Much more impressive now than when I got into R/C. Also much simpler to operate than the nitro powered models. Though when i have good cashflow and time I will make some of those as well. Just tough with those since you nearly need to make a day of going flying, while the electrics you can just do quickly.

Friday, July 17, 2009

In addition to having a library for the LED cube, I now have laid out an Arduino shield in Eagle for it. Have a friend who has a laser printer printing the masks for me so I can transfer them with a heating iron onto a blank circuit board and then etch it. Will have to see how it comes out, but I think it should work well. Might take a bit to get the toner transfer method to work however. But once i get the board etched its going to be great.

And found out that they still make the type of toolchest my father has. It is so nice.... think I need to get one someday.http://www.fastenal.com/web/products/detail.ex?sku=0207061&ucst=t

Wednesday, July 15, 2009

LED cube greatness!

YAY! I have a working c++ library for developing control programs for the 3x3x3 LED cube. Additionally I figured out the Arduinos interrupt scheme (forgot to add a 10 kohm resistor creating odd behavior all day) so I can switch between the patterns easily. Next step is a simple self contained control board with an atmega168. Should be fairly simple, only really 4 systems, a 5v power supply, a 16 mhz oscillator, the atmega and then the final I/O devices (LEDs and a button). Only problem is that after the interrupt it still finishes the current pattern. Not a huge deal, but could be confusing if you didn't know that it would do that.

Friday, July 10, 2009

Built a frame for the servo motor vehicle. Also built a battery mount with some sintra and have that powering the arduino. No more USB cable tether, YAY!!!!!! Next problem to tackle... traction.


Thursday, July 9, 2009

Using the two hacked servos from the other day I decided to make them into a simple mobile platform. In addition I have a Wiimote nunchuck connected via the nunchucky from www.solarbotics.com. I am using the joystick to control the rotation of the two servos. The buttons and accelerometer data however are not used for anything so far with this experiment. I used some code that I found on the web that used the Arduino to decode the data from the nunchuck via the I2C connection and then send it to a terminal program using a serial interface. I then modified it to give abbreviated data data to the serial terminal, and also to drive the motors using PWM output from two of the Arduinos digital I/O pins.

So.... here is the code.... and yes... I know I need better comments....

/*
example code from www.windmeadow.com/node/42 modified to drive two continuous
rotation servos as PWM controlled gear motors.

uses the analog pins for nunchuck connection
analog 4= data
analog 5= clock

nunchuck uses 6 bytes for full set of data
0: x axis of analog stick left(min) 0x1e, center 0x7e, right 0xe1
1: y axis of analog stick down (min) 0x1d, center 0x7b, max 0xdf
2: x acceleration 1g (min) 0x48, medium 0x7d, max 0xb0
3: y acceleration 1g (min) 0x 46, medium 0x7a, max 0xaf
4: z acceleration 1g (min) 0x4a, medium 0x7e, max 0xb1
5: buttons/ alleleration LSB:
bit 0 z button (0= pressed)
bit 1 c button (0= pressed)
bit 2 and 3 x acceleration LSB
bit 4 and 5 y acceleration LSB
bit 6 and 7 z acceleration LSB
Scott Powers
6-10-2009
*/

#include Servo.h //stuff in italics needs to go in angle brackets
#include string.h
#include Wire.h

#undef int
#include stdio.h
Servo leftMotor;
Servo rightMotor;
uint8_t outbuf[6]; // array to store arduino output
int cnt = 0;
int ledPin = 13;
int delayTime = 50000;

void
setup ()
{
Serial.begin (19200);
Serial.print ("Finished setup\n");
Wire.begin (); // join i2c bus with address 0x52
leftMotor.attach(10);
rightMotor.attach(9);
nunchuck_init (); // send the initilization handshake
}

void
nunchuck_init ()
{
Wire.beginTransmission (0x52); // transmit to device 0x52
Wire.send (0x40); // sends memory address
Wire.send (0x00); // sends sent a zero.
Wire.endTransmission (); // stop transmitting
}

void
send_zero ()
{
Wire.beginTransmission (0x52); // transmit to device 0x52
Wire.send (0x00); // sends one byte
Wire.endTransmission (); // stop transmitting
}

void
loop ()
{
Wire.requestFrom (0x52, 6); // request data from nunchuck
while (Wire.available ())
{
outbuf[cnt] = nunchuk_decode_byte (Wire.receive ()); // receive byte as an integer
digitalWrite (ledPin, HIGH); // sets the LED on
cnt++;
}

// If we recieved the 6 bytes, then go print them
if (cnt >= 5)
{
move ();
}

cnt = 0;
send_zero (); // send the request for next bytes
delayMicroseconds(delayTime);
}

// Print the input data we have recieved
// accel data is 10 bits long
// so we read 8 bits, then we have to add
// on the last 2 bits. That is why I
// multiply them by 2 * 2
void
move ()
{
int joy_x_axis = map(outbuf[0],0x1E, 0xE1, 0, 180);
int joy_y_axis = map(outbuf[1],0x1d, 0xdf, 0, 180);
int turn= joy_x_axis-88;

int z_button = 0;
int c_button = 0;
int left=(joy_y_axis+turn);
int right=(180-joy_y_axis+turn);

rightMotor.write(right);
leftMotor.write(left);

// byte outbuf[5] contains bits for z and c buttons
// it also contains the least significant bits for the accelerometer data
// so we have to check each bit of byte outbuf[5]
if ((outbuf[5] >> 0) & 1)
{
z_button = 1;
}
if ((outbuf[5] >> 1) & 1)
{
c_button = 1;
}

Serial.print (joy_x_axis, DEC);
Serial.print ("\t");

Serial.print (joy_y_axis, DEC);
Serial.print ("\t");

digitalWrite(13, z_button);
Serial.print (z_button, DEC);
Serial.print ("\t");

Serial.print (c_button, DEC);
Serial.print ("\t");

Serial.print ("\r\n");
}

// Encode data to format that most wiimote drivers except
// only needed if you use one of the regular wiimote drivers
char
nunchuk_decode_byte (char x)
{
x = (x ^ 0x17) + 0x17;
return x;
}


Sunday, July 5, 2009

servo mod

Last night I decided to modify a couple of the standard size servos I had laying around to function as continuous rotation gear motors. The servos are Futaba S3003 from a model airplane that I built in high school that was damaged beyond repair. I havent built any more large model airplanes so I have these laying around.

This mod was focused on the final gearm so that it would no longer engage the potentiometer. The pot gives rotation feedback to the servo circuitry.
*After disassembly a notch was cut into the top of the pot with a dremel so that the pot could be turned with a precision standard head screwdriver.
* After this the tab on the side of the final gear was removed so that it no longer engaged the stops built into the top of the case.
* the bottom interior of the gear contains posts to engage the pot. These were removed with a 5/32 drill bit.
* the hole from the top was also reamed out with a 5/64 bit so that a precision screwdriver could fit through the gear. This allows adjustment so that the pot can be set to the neutral position.

Once the servo was reassembled I hooked it up to the arduino on one of the PWM pins. I then used the following code so that I could adjust the pot to neutral where the motor is stationary.

#include servo.h
Servo myservo;
int pos = 90;
void setup()
{
myservo.attach(9);
}
void loop()
{
myservo.write(pos);
}

This mod allows the servo to be used like any other motor using PWM output at 5v from the arduino digital I/O pins.


Wednesday, July 1, 2009

Back into electronics and robots


Well.... I have been out of work for a bit and beend taking the time to work on some electronics projects and robots. Built a 3x3x3 LED cube controlled by an arduino microcontroller. It is the first arduino project I have worked on. So far I am very pleased by the ease of use and functionality. After the first few patterns programming in C has come back to me. It is just a matter of learning some of the built in functions for the arduino. Overall not back. Hopefully will add some pictures and code later on.

Also build a Lego NXT run Sumobot. Would like to spend more time working on robotics and the such. Maybe even go to some competitions. Will see where things go in time.
Now I just need to get back on the job so that I will have money for some of these projects.....