Thursday, December 22, 2011

compiling seagull on ubuntu 10.10

Seagull is a free, Open Source (GPL) multi-protocol traffic generator test tool. I will be using Seagull to generate some Diameter traffic for testing. After trying for hours to get this software to compile under Ubuntu, I finally gave up and used the windows cygwin binarys, which worked like a charm.


Seagull is a handy tool for generating very specific traffic types, and provides many scenarios already configured. To get going on Windows, all that I had to do was edit the IP addresses in some XML config files and I was up and running. Nice. 


---


I'll document some of the pains that I went through here during compilation under Ubuntu 10.10 for Seagull in case someone else happens to try this out. There has been some time since Seagull was updated, and compilers have changed a bit since then. Fortunately I ran into this blog post that helped me to understand some of the problems that I was running into. 


At first, KSH and GCC are missing from Ubuntu, so you have to install them.
# apt-get install ksh build-essential bison flex libntl-dev libsctp-dev


Source files that generate the error "error: memset was not declared in this scope" need to have this include line added. 
#include <cstring>


Source files that generate the error "X" need to have this include line added.
#include <cstdlib>


Source files that generate the error "Y" need to have = changed to == in some if statements. 


Source files that generate the error "fatal error: asm/page.h: No such file or directory" need to have a specific include line to point at the actual page.h file. From http://forums.fedoraforum.org/showthread.php?t=190186.
#include "/usr/src/linux-headers-2.6.35-22/arch/x86/include/asm/page.h"

Source files that generate the error "/usr/bin/ld: cannot find -lTTL" can be fixed by commenting a line and uncommenting a line in TCAP section of build.conf.

And lastly, I have not yet solved this one. Error message is "library-trans-extsctp/socketSCTP_t.hpp:23: fatal error: ext_socket.h: No such file or directory". I cant seem to find a library that provides sctp_initLibrary() as  ext_socket.h used to, also cant find ext_socket.h on my system or in an available package.

So, use the windows version, because it works. 


Tuesday, December 20, 2011

the diameter protocol

Diameter is an authentication, authorization and accounting protocol for computer networks, and an alternative to RADIUS.









Anyway, here are some links.


For troubleshooting diameter, I have mostly been using tcpdump and wireshark since wireshark has dissectors for the Diameter protocol. Next I will be working on tcpdump filters.

Sunday, December 11, 2011

Robot mower roundup

I am not the only person on YouTube with a remote controlled lawn mower. It seems like more and more show up every day, so I decided to document a few of my favorites.


Lawnbot 400

This is the project that inspired me to create my own remote controlled mower. His website is here. What I liked about this mower is that it appears to have adjustable cutting deck height, and the dirt carrier on top.

One thing that I don't like about this design is how bulky the frame is compared to the size of the cutting deck. I took this design into consideration when building my mower, and it still comes to mind when I'm thinking about how to solve my rigid cutting height problems. The fit and finish on this project is top notch, and that is probably why it is listed in Make Magazine. Good work, Sir.



Lawnrover m3736

Right away I saw "Can I get this in Blue?" from the YouTube comments. This tells me that someone out there wouldn't change a thing and would enjoy this mower as is.

Based on the number of features on this mower, I suspect that this is not the first revision of this project. I'm just guessing here but the balance looks to be as such that if you sat on it, you might be able to pull wheelies! Imagine! I like the toolbox on this one as it is a great way to keep electronics safe from grass and dust and it is easy to open and get at the components if you need to.



thekruck2009 radio control lawn mower

This one deserves a name. I really like the compact size of everything on here. The little caster wheels might prove problematic when transitioning between different surfaces, but they look to be working just fine here.

There are not a lot of details posted about this project, and the viewer comments on YouTube appear to go unanswered.

I posted a question about the electrical system, but I may not get an answer. I was interested in whether the system is 12 or 24 volts. It seems like it must be a single battery at 12 volts, as I'm not sure where you would fit another battery on there. It also appears to be in the same situation as my project regarding height adjustability. I have to say it again, though, I just love how compact this one is.



DIY Robot Lawn Mower

This one is 100% custom and it represents an entire genre of custom mowers that are otherwise missing from this post. The guy combined a barbie jeep, razor blades, batteries, and an electric dog fence to create a completely autonomous mowing platform.

This device is not remote controlled, it works entirely on its own by bumping into things and turning itself a little bit each time. I think it would take ages to mow the yard based on how it moves and the fact that it is going to mow over the same tracks multiple times. I think this is a great device, though, as it is so totally different from the other projects in this category. I can really appreciate the effort that was put forth to make this, especially the custom logic board parts. Good work, Sir.





Tuesday, November 8, 2011

November already?

So, its November already and I haven't posted much. Well, I changed jobs. Now I work for F5 Networks, Inc. My new employer is awesome.

Anyway, back to the books. Here is what I have been reading lately.


During my BGP and TCP MD5 digest searching, I found an awesome website called PacketLife. This website provides packet captures for just about everything. I can tell that this is going to be a good "known working example" resource. Check them out at the link below.


Later.

Tuesday, July 12, 2011

Python Exercises - Count the Words

My Python solution to the problem "count the frequency of words from a given input stream" is here at ideone.com.

I started out by using a For loop to send each word from a single line to the dictionary mapping function. Once this was working and proved that the dictionary mapping function worked, I re-factored the code to use the map() function instead of the For loop. Perhaps I could save some time in the mapping function (named wordcounter) by using the .setdefault method of the Dictionary object instead of explicitly checking for a key's existence in the Dictionary every time the function is called.


Reducing fragility in test automation

I would like to learn more about this subject. Here are some reading materials for now.


http://marlenacompton.com/?p=424
http://www.satisfice.com/articles/test_automation_snake_oil.pdf
http://www.kaner.com/pdfs/autosqa.pdf