Thursday, November 29, 2012

Speech I gave regarding Slaughterhouse-Five.

Slaughterhouse-Five, or The Children's Crusade: A Duty-Dance with Death
by Kurt Vonnegut
published in 1969

Specific Purpose/Goal:
 I want my audience to understand the importance of the book and how it was a book of its time and period, that it continues to be important to this day.


Attention Getter

Poo-tee-weet.  Slaughterhouse-Five is not fiction.  Yes, the story is set in a fictional setting, but the people and the majority of the events all actually happened.  The time travel and space aliens were a necessary hook that was needed in 1969 in order to engage with a public that was divided over the war in Vietnam. 


Slaughterhouse-Five, or The Children's Crusade: A Duty-Dance with Death
by Kurt Vonnegut
Written for 24 years until it was finally published in 1969.

Audience Adaptation

I am qualified to talk about this book because I am from a family that all serves in the military.   Beyond that I have always loved science fiction and have read thousands of sci-fi books. 

We should care about this book because it touches the very core of what makes us human.  We keep doing what we know we should not do.  About how limited we humans are. This book is a book about ending war, but it was written knowing that such a thing is impossible.  Must like the futility of war, we also engage in the futility of ending war. 

The first thing I am going to talk about are the main themes of the book

The second thing I am going to discuss is the setting of the book when it was finally published.

Finally I am going to talk about why the book continues to be important to this day.

The first thing I am going to talk about are the main themes of this book.  The book is unashamedly anti-war.  Most soldiers are antiwar, but none so much as Vonnegut. But the book recognizes that we will always have war. In the introductory chapter a friend's wife forces him to promise to not to glorify war because she doesn't want her children to die in a war, so he devotes the book to her, promising to title it, The children's Crusade, winning her over.

The title and a few references to "The Children's Crusade" got me to look up this event that I had never heard of before.  I am sure that many people don't know about this swindle until they read this book as well.  Approximately the same number of children were enslaved as lost their lives in the fire bombing of Dresden.

Vonnegut was a prisoner of war in Dresden when it was firebombed by his own side.  He was very upset that the details of this bombing had been kept from the public for many years after the event.  His book helped to put a spotlight on the events of that day and how wrong they were. 

Vonnegut learned in college that there were no villains (Vonnegut, 15) and so he never put a villain in any book that he ever wrote.  The characters in the story are all based on real people that Vonnegut met in the war.  But they are composite characters, stereotypes, everything of one trait pulled into a single character and then named so as to obviously reflect that trait.  Wildhack,  Lizzardo, Weary, Trout.  The German soldiers are just as pathetic as the Americans, either too old or too young, so they are not portrayed as evil villians so we can feel good when they die.

The main character in the book, Billy Pilgrim, is a goofy unhero.  He basically just responds to events as they happen without really planning for anything or thinking anything through.  When things get tough he switches to another time. When that doesn't help he retreats to the safety of a mental hospital.  Billy doesn't physically travel through time, his time travelling is described in a way that is similar to daydreaming. 

The time travel gimick is used to good effect in order to feed us the events of that horrible day in Dresden a little bit at a time, then to redirect our minds to some other more pleasant time.  But by the end of the story we know exactly what happened to Dresden on the day it was firebombed and we can vividly imagine what the city looked like before and after it was bombed and how few escaped, because we know that nobody got to the inn from the city, but the few Americans and their guard.  We know that corpses of a firebombing look like charred logs.

The aliens in the book, from the planet Tralfamadore, that kidnap Billy and take him to a love nest with a porn star, are exactly the same as the aliens in a science fiction book that Billy read in a mental hospital.    The Tralfamadorians see all of time at once, like the Temped character in the Weed of Time.  They focus their perception on the beautiful moments.  They tell Billy that nothing really matters because one of their test pilots is going to blow up the Universe by pushing a button to start an experimental craft.

Secondly is the setting of the book when it was finally published. 

1969.  It is the greatest year in human history, we felt that we could do anything, that anything was possible.   This was the year we walked on the moon.  The Woodstock concert happened, an event which not been topped to this day.  This was the height of the hippie movement in America, with free love and peace.  People where doing drugs that they believed where expanding their minds to higher planes of understanding.  PCP, LSD, Mescaline...

The year 1969 has to be the most often mentioned year in songs.   

"The 25th Of December 1969" - May Blitz
"Summer of '69" - Bryan Adams
1969 - The Stooges with Iggy Pop
Running on Empty-Jackson Brown
Lonely Boy-Andrew Gold
Hotel California-Eagles

Against this backdrop was the Vietnam war, a war where America won every battle, but ended up losing the war.  Nixon would begin carpet bombing Cambodia without the permission of Congress in the following year  Essentially he was waging his own illegal personal war against an entire country.

With the end of the Vietnam war, the last of the hippies took off their tie died shirts, put away their tambourines, got jobs, and sold out to the man.

All of this combined to elevate the book to amazing popularity in a very short time.  An instant classic, it allowed Vonnegut to write full time and enjoy acclaim and success in his writing career.

My final point is that this book continues to be important to this day.  According to the American Library Association, Slaughterhouse 5 is the 29th most banned or challenged book in America.  There was even a challenged last year in Missouri ( that resulted in 350 books being donated to the 350 students that were denied access to this classic book.

The book is challenged based on it being “depraved, immoral, psychotic, vulgar, and anti-Christian” according to a circuit judge and “anti-American, anti-Christian, anti-Semitic, and just plain filthy" according to a school board in Levittown, New York (

Indeed the book is anti-American because it is antiwar.  We Americans have an unfortunate tendency to glorify war and soldiers.  Never has this been more true than today. 

In conclusion

"War must be, while we defend our lives against a destroyer who would devour all; but I do not love the bright sword for its sharpness, nor the arrow for its swiftness, nor the warrior for his glory. I love only that which they defend."
 J.R.R. Tolkien, The Two Towers

We still fight wars to this day, so in that the book failed.  But nobody has firebombed a city as we did to Dresden in 1944, since this book was published.  So maybe by bringing a light to that shameful incident the book has indirectly acted to moderate war.  And maybe less people mindlessly glorify war than once did as well. 


Monday, November 26, 2012

Solving the energy crisis, polution, and global warming

Simple solution to clean up fossil fired electric plants, make us independent of oil, clean up ground water of nitrates and phosphates, and fix global warming.

Take all the fumes from the chimney of the coal/gas fired plant and bubble it through large tanks filled with algae, and then continuously refine diesel oil from the algae.  Use coal fired plants to warm and feed the algae C02.  The CO2 is captured by the algae and then used in our cars.  Large algae tanks on top of every building in every city would scrub more C02 from the air.

The great thing about the algae is that it would be easy to filter from water, you just need a strainer, so it would be simple to concentrate and ship to small refineries to extract the oil. And then you can run all the new cars we sell in the US off the bio-diesel.  You could even run an electric plant on biodesiel that is produced in a few square miles of tanks surrounding a plant.  Much of the energy from the sun falling on square miles of algae could be captured.

It is claimed that current methods of trying to use algae as bio-fuel is not maintainable. but that is because they are trying to treat a tank of algae like a field of beans.
The complaint of using too much water is nonsense, because you can just use salt water from the ocean for algae production. Algae grows great in brackish or otherwise dirty water.  The treated output from sewage treatment plants could make a great input to the algae tanks, otherwise useless water that is polluting lakes and rivers.  One of the issues with this waste water is that it creates algae blooms that kill the rest of the life in a river.

Sewage can be use used as fertilizer for the algae with just a little processing.  Ironically, phosphates and nitrates are a huge problem for the environment from sewage treatment plants. I don't see excesses of anything as a problem.  I see an output looking to be utilized as an input to another process.   Any nitrates not provided by the treated sewage could  be provided by using alternative methods to get the needed nitrogen from the atmosphere, such as using the same bacteria that clover uses to create nitrates.   If we are using single celled organisms for fuel production, why not use bacteria for nitrogen fixing as well?

The heat and massive amounts of CO2 bubbling through the algae tanks would maintain massive growth.  Air can be bubbled through the tanks to rapidly extract excess CO2 from the atmosphere. The treated waste water from the sewage treatment plant would feed the algae, preventing our rivers, lakes and ground water from becoming poluted.  Bacteria can be used to provide the rest of the needed nutrients as they do in the rest of Earth's biome.

Monday, November 19, 2012

Time Value of Money

My accounting book had two tables that we used to perform some functions to evaluate investments and to get rates of return.  I was curious about how to generate those tables and the magic behind the functions built into financial calculators.  So I looked up the math behind the tables and wrote a couple of small programs to create the tables.

I found the formula for present value from this web site:   The code I wrote for this function is as follows:

#include <stdio.h>
#include <math.h>

main ()

  int timelength = 40;
  int t = 1;
  double r;

  printf ("Net Present Value.\n");
  for (t = 4; t < 26; t++)
    printf ("\t%d%%", t);
  printf ("\n");

  for (t = 1; t <= timelength; t++)
      printf ("%d\t", t);
      for (r = 4; r < 26; r++)
        printf ("%f\t", 1 / pow (1.0 + r / 100, t));
      printf ("\n");
to compile this you need to use the -lm flag
gcc -lm filename.c -o npv 

The output is tab separated and  can easily be imported into a spreed sheet program and formatted.


We also had a table to calculate the future return on an Annuity, and I found the way to calculate the table with the formula on this page:

#include <stdio.h>
#include <math.h>

main ()
  int timelength = 40;
  int t = 1;
  double r;

  printf ("Present Value of an Annuity.\n");
  for (t = 4; t < 26; t++)
    printf ("\t%d%%", t);
  printf ("\n");

  for (t = 1; t <= timelength; t++)
      printf ("%d\t", t);
      for (r = 4; r < 26; r++)
        printf ("%f\t", (1 - pow (1.0 + r / 100, -t)) / (r / 100));
      printf ("\n");

to compile this you need to use the -lm flag
gcc -lm filename.c -o apv 

The text output that this generates looks like:


Wednesday, November 14, 2012

Building a motorized turn table for 3D photography

In a previous post I built a camera controller to take pictures of lightening.  This was based on an arduino controller which still has many pins free to use in another project.  I am going to multi purpose the camera controller so that it can also control a stepper motor controlled turn table.

In order to do this I will need to
  1. develop a menu controlled selection to switch between the two modes of the controller.
  2. add a connector to control a stepper motor.
  3. Build the stepper motor into a device that controls the rotation of a turntable.

I may just build the controller into the base of the device with a dial to set the amount of rotation before snapping a new picture.  Doing this will keep the software simpler with no need for a menu to select between modes.

Doing this will allow me to place a small object onto the turntable, and then take pictures of that object from a wide variety of angles.  I plan on taking dozens of pictures from a low angle, resetting the camera to a higher position and taking another set of pictures from that angle.

Then I will have to manually upload the photos to a service that will stitch them into a single 3D model.  Such as autocad's 123D service.  Hopefully someone will develop a package possibly based on hugin in order for we open source people to build our own 3D models in house without depending on a service that could someday start charging serious money.

Tuesday, November 13, 2012

My Uncle's receipe for Vodka Christamas Cake.

Once again this year, I’ve had requests for my Vodka Christmas Cake recipe so here goes. Please keep in your files as I am beginning to get tired of typing this up every year! (Made mine this morning!!!!) 
 1 cup sugar, 1 tsp. baking powder, 1 cup water, 1 tsp. salt , 1 cup brown sugar, Lemon juice, 4 large eggs, Nuts, 1...bottle Vodka, 2 cups dried fruit. Sample a cup of Vodka to check quality. Take a large bowl, check the Vodka again to be sure it is of the highest quality then Repeat. Turn on the electric mixer. Beat one cup of butter in a large fluffy bowl. Add 1 teaspoon of sugar. Beat again. At this point, it is best to make sure the Vodka is still OK. Try another cup just in case. Turn off the mixerer thingy. Break 2 eegs and add to the bowl and chuck in the cup of dried fruit. Pick the fruit up off the floor, wash it and put it in the bowl a piece at a time trying to count it. Mix on the turner. If the fried druit getas stuck in the beaterers, just pry it loose with a drewscriver Sample the Vodka to test for tonsisticity. Next, sift 2 cups of salt, or something. Check the Vodka. Now shit shift the lemon juice and strain your nuts. Add one table. Add a spoon of sugar, or somefink. Whatever you can find. Greash the oven. Turn the cake tin 360 degrees and try not to fall over. Don't forget to beat off the turner. Finally, throw the bowl through the window. Finish the Vodka and wipe the counter with the cat.

Saturday, November 10, 2012

3d printing notes and links

Every task that we humans do can be broken out into a series of steps, a chart of the work flow that we have to take from beginning to end.  Most of learning a job comes from discovering the most efficient path to most rapidly and cheaply complete what needs to be done.   3d printing is no different.  Was I have been exploring the past couple of weeks, in anticipation of getting my own printer, in 4 to 6 weeks, I have noticed that nearly every post contains some little hint, or pearl of wisdom that was probably very hard fought to figure out.  This page is an attempt to condense all this information into a single place for my own use, and for yours as well.

There is also a culture on the website, where giving proper attribution is important.  It is built into the website.  Although I believe there is one weakness, when you make a derivative of one work you click a button to create a new page.  But what if you combined two peoples work equally?  I see many people trying to give credit as well as possible, but then having to cut and paste links to the other people's links

Overall the process of 3D printing goes like this:

For the new user:
  1. Find a pre-made model
  2. Load model into printing software that came with the printer
  3. Press print
  4. It prints or it does not.
  5. Randomly adjust settings, repeat 3

This is pretty much where I am now.

I have started trying to learn more than this, so that when my printer arrives, I can start printing my own designs.  The workflow for designing a 3d shape for printing goes like this:

  1. Use software to create a shape.  
  2. Export this into a format that can be imported by printer software.

This seems easy enough.  Just two steps.  Except that you might need to create simple shapes, or start with an existing model or two and then move the files from one application to another in order to get access to features that one has, and the other does not.

You can take one shape and subtract it from another shape to create a unique mashup.  Maybe you add a slot to the back of a sculture so that it will fit the head of a nail in your wall.  Or you could fit a vesa mount onto one or more cases so you can screw a computer to the back of your LCD monitor.

But how do we do that?  One person on the site had this to say:

How to get a model from Sketchup into Blender: export as a Google Earth object, change the extension of the saved file to .zip, open the archive, retrieve the .dae file in the 'models' subdir and import that into Blender using the 'import Collada 1.4' option. 

That would take forever to figure out on your own.  Even with the directions someone could look at that and just see Greek.  So there are tricks to converting between each of the more popular applications that other people have figured out over time.  

Another person says: 

I spent several months like that when I started printing. NOTHING %$#!ing worked and I was ready to throw the damned thing (a Cupcake) out the window.
Start with an easy goal and just focus on learning how to do that well. Take notes, change one thing at a time, get a feel for what the different settings do. Don't go for layers at 2 microns or printing at 7000mm/s. Pick a simple target, stick with it until you make progress, figure out how you made progress. Don't be afraid to ask questions.
Unless you have broken hardware, you have enough hardware for now - throwing more at the machine (usually) just adds complexity. The hard part is understanding what the software is doing and developing a routine.
The biggest and most common mistake I see is that people start with the assumption that they understand what's going on. I did it, too - I'm a senior software developer so I should be good at this right out of the gate, right? Wrong. Months of frustration worth of wrong. Once I got that out of the way, I started making progress pretty quickly.

What are these major 3d modeling software for 3D printing? Ways to design your initial 3d shape:

3D animation software:

One problem you are going to have is that the traditional 3d model is just an outline filled with empty space.  It has to be converted into a solid model  so that the printer software can handle it using the following software:

3D solid modelling software:
Google Sketchup
other 3d modellers
Some people have been using the processing language to generate the models.

What you see mostly on the site are files that end in .stl extensions.  These files are the shapes, ready to be put into the printer software and printedBefore you try to print something as a newbie, read the comments, and check to see if anyone else has posted a print that they made.

Applications to do this for my Makerbot Replicator 2 include:


Once you have finished the print, how do you make it more durable for real world use?  Screws will not hold well in plastic without some helpA screw can pull out, or crack the plastic.  This page reminded me about metal inserts:

You can get a variety of Heat set inserts for plastic pieces from a variety of sources such as McMaster:

"During installation, heated plastic flows into the insert's knurls and ridges. When the plastic solidifies, the insert resists torque and pull-out. Install or remove using a soldering iron with an installation or extraction tip (sold separately). Inserts are made from brass, which is nonmagnetic, corrosion resistant, and electrically conductive. Thread class is 2B for inch sizes and 6H for metric sizes.  Use the soldering iron with installation and extraction tips (sold separately). Operates on 120 volts AC, 60 Hz, 40 watts."

I have used these before with a plastic case, you just push them in with solder tip that fits them, for smaller ones the solder tip on a normal soldering iron works fine. 

Got Moodle 2.3 up and running fast as a vmware appliance

After fighting to install moodle 2.x for a while, I found a site that had moodle 2.3 already installed and configured as a vmware appliance. So you boot it up in vmware and it runs a virtual instance of the server on your box. No install needed and you can easily revert back to a previous version if your changes break things.

The appliance is from here:

VMWare player, the latest free lite version of the software can be found here:

I followed the directions here to get the player loaded onto my Ubuntu 12.04 laptop: 

This is very similar to images on ESX servers based on the high end vmware software.

VMWare might grab your mouse and not let go, hit the control and alt keys at the same time to get your mouse back.

There are a lot of other virtual appliances all configured and ready to go at this site:

Friday, November 9, 2012

My world famous burrito style hot dogs

 Very good, and a lot less messy than traditional hot dogs. The thin bread gives you a lot less carbs than a regular bun. 
  1. Lay out the flour tortilla.
  2. Put mustard, ketchup, relish, cheese, onions, chilli sauce, anything you would on a regular hot dog. 
  3. Spread it out to about an inch from the edge. 
  4. Put two hot dogs in the middle of the tortilla, side by side. 
  5. Fold the bread up over the ends of the hot dogs to seal the ends.
  6. Fold the two sides up and over top the hot dogs, overlapping the two sides.
  7. Roll it up in a paper towel, microwave for 30 seconds, 
  8. Flip, microwave 30 more seconds, 
  9. Wait a minute for the heat to evenly distribute. 
  10. Then eat!

Sunday, November 4, 2012

the raspi as a business solution

I first used an X-terminal in a computer lab in the early 1990's.  I was an instant convert.  The screens were only monochrome, but they were 21", which was amazing, compared to the usual 12" screens that most people had.  But what was really amazing about the computers, was that no matter which terminal I logged into, I had complete access to all my files and all my programs.  And I was connected to a very powerful sun server that could crunch numbers faster than any desktop machine I had ever used.   As I moved into the windows world I was never satisfied with having my files only on the one computer.  Sure, I could save the files to a network drive, too, but then which file was the up-to-date file?  And even if I access the file from another desktop machine, there is no guarantee that the software will be installed on that machine, which means having to purchase another copy of the software.
As a concept, I am going to get a higher end raspberry pi, print out a vesa mounted case and mount it to the back of a monitor.  At that point I am going to configure the raspi to connect to my main linux server using XDMCP using the instructions here:

It would also be possible to go full Linux Terminal Server Project (LTSP) and have a raspi boot into that framework, they are working on that here:

I am more interested in configuring the raspi to connect as an X-terminal to my main server.  Monitors are dirt cheap now, and so is the raspi, so combining the two of them together and having them connect to a very powerful back end server is a powerful solution for both home and business.

X-terminals take almost no maintenance and you could replace the entire raspi setup for just $25.  A 20 inch monitor is just $110.  Throw in a keyboard and mouse for about $15 and you can put a complete computer in for just $160 a seat.    A 26" monitor would just add $60 per seat. 

Instead of spending $600 a seat on 10 desktop computers and a couple of thousand dollars on a server, you can spend $1600 on the computers, and then build an amazingly powerful main server with part of the $6,400 you would have spend on the weak desktop machines and weak server in the first scenario.   This main server will be much faster than any desktop machine.  Dual quad core with 32 GB of ram, mirrored raid drives. 

The x-terminals would be on their own network that only connects to the main server.  No anti-viruses needed per seat.  Maintenance is easy.  If the terminal is down, just swap it out with a different one.  Until the terminal is replaced,  all a user has to do is to log into any other computer and have full access to all their software and files.   You could even deploy a terminal into someone's home and have it connect into the company securely though the firewall using a Virtual Private Network (VPN), so even that client would only exist on the client network and be completely secure.   

Because all the files are in a central location, backing them up is easy.  I prefer using rbackup.  It creates a full backup, and then incrementally backs up every user file every hour.  It has directories that each look like they contain a full backup at that hour, saving disk space by hard linking back to all the files that haven't changed since the last backup.  It is easy to put a link on each users desktop that directs them to the last backup, or to their backup directory

If users have software that only runs on Windows it is trivially easy to run a single multi-user windows server and connect into that box using citrix to put the window app right onto their x-terminal screen.  This is built into windows server which provides Remote Desktop Services, in a similar way that X-windows works :  You can install anti-virus, anti-spyware,  and all that on the windows box to keep it protected, and physically firewall all access to the windows box to keep it from being infected and taken over by worms and viruses.  And you can mount the directories from the unix server to their home directories on the windows side so that they have full access to all their files on either the Windows side, or the Linux side of things.

I'd do all my print queues and mail through the Linux server, because it is just so much easier to maintain and more reliable.  Where ever possible, switch to free and open software, this is one of many links that describes 75 solutions to replace expensive, unreliable windows software:

You can wean people over to open source software on windows first, and then when they find the same tools available on Linux, they will spend more time working with the identical apps there.

Why would a business change in this way?  Because your competitors are all using Linux and Open Source more and more everyday.  And unless you work continuously to reduce every cost in your company, another company will, and will drive you out of business.   Using open source software effectively provides a competitive advantage over those who do not.

You can reduce administrative costs, effectively eliminate desktop support costs, provide your employees with robust access to their data files and programs, all while improving their productivity by giving them access to a server that is much more powerful than you could otherwise afford. 

How to boil eggs.

If your boiled eggs have a thick rind of green around the yokes, you are way overcooking the egg and making them taste and smell like sulfur.

Start with everything cold, put the eggs in the pot and just cover them with cold water.  Bring the water to a boil as quickly as you can and begin stirring the eggs gently as soon as the water starts to boil.  After about a minute your eggs should be at a full boil.  Turn the heat off and cover the pot to keep the heat in.

That is all the heat the eggs need to finish the cooking process.  You can move them to a back burner.  Now, wait about 20 minutes for medium eggs, or up to 30 minutes for large eggs.  Break an egg open to make sure they are fully cooked.  Everything should be solid, with the yokes a bright pure yellow in color.  You'll notice that the whites and yokes are both a little more tender than before. 

The last phase is to stop the cooking process.  Pour out the hot water from around the eggs, pour cold water in and put in a tray of ice cubes.  Once everything is cold, take the eggs out and let them dry, then put into a baggy and put them in the fridge.  Eat them when you want them.

Saturday, November 3, 2012

Building my own xmbc media client box

Update:  I was finally successful in replacing my old disabled by the corporation media box... Raspberry Pi using the Raspbmc distribution:

I've given up on netgear. Building my own media center box. I tried out the xbmcbuntu distro booting from a flash drive and it was very polished and more capable out of the box than any commercial media device. 
But I hear that Sabayon Linux includes a very well configured version of xbmc, so I am installing that version on an old box with a green system that only draws 60Watts to see 
how it performs there. Concerned that it might need more graphics card than that mother board provides.

The best two things so far... a ted talks channel and apple movie trailer channel.
I am on Linux, so I did the following:
To create the bootable flash drive to try out the xbmcbuntu release I got the iso from here: 
Click on the far right icon and save the .iso file.
Then you need to write the .iso out to the flash drive, I used the following command:


to bring up an interface to burn the .iso to the flash drive.  I gave the device a couple of Gigs of space to save stuff perminantly so I could play around with things.

Then I had to figure out how to get to a selection menu on boot up to get a menu to select the flash drive to boot from.  On my asus eee pc I had to go into windows and disable express gate software, then I could press esc and f2 at boot and get to the little text menu to select the flash drive.  
Once I booted into xbmc I was a little amazed.  The interface is very stunning and polished.  It blows away anything can get from any vendor at this time.   It has hundreds of plug-ins to allow you to access many websites.  
I had a Ted talks channel and an Apple movie preview channel working in just seconds.
When I get home tonight I am going to try xmbc with the mediatomb server running on another box I have to see how they work and play together.     

Friday, November 2, 2012

Looking at firmware update files and compiling files.

Update:  I was finally successful in replacing my old disabled by the corporation media box... Raspberry Pi using the Raspbmc distribution:

It is obvious that nobody ever managed to compile the little bit of code that netgear released for the eva2000.   And nobody ever got a firmware file to directly update the little box.  I am not even positive it can update other than over the network.  

Trying to find and extract out enough binaries from various similar boxes to my vendor deactivated netgear eva2000 in order to install a new firmware to the system.

I used the following command to see if the system could ID the file:

file binaryfilename.bin

And it told me:

So I took a look at the contents of the file directly with a hex viewer:

od -ah binaryfilename.bin | 

the output from that is:

0000000   e   a   f   b   2   6   b   c   0   b   1   9   d   3   f   1
           6165    6266    3632    6362    6230    3931    3364    3166
0000020   0   4   6   3   4   3   2   5   4   a   5   e   f   e   4   1
           3430    3336    3334    3532    6134    6535    6566    3134
0000040   E   =   M   ( nul   @ dc1 etx etx nul nul nul nul nul nul nul
           3d45    28cd    4000    0311    0003    0000    0000    0000
0000060   C   o   m   p   r   e   s   s   e   d  sp   R   O   M   F   S
           6f43    706d    6572    7373    6465    5220    4d4f    5346
0000100  fs   [  so   T nul nul nul nul   k   & nul nul   K  so nul nul
           db9c    d40e    0000    0000    266b    0000    0ecb    0000
0000120   C   o   m   p   r   e   s   s   e   d nul nul nul nul nul nul
           6f43    706d    6572    7373    6465    0000    0000    0000
0000140   m   A   l etx   D soh nul   d   @ eot nul nul   m   A   l etx
           41ed    03ec    0144    6400    04c0    0000    41ed    03ec

I could see the start of the compressed file system started 32 bytes in with the byte pattern "3d45    28cd", the header must have some sort of checksum or other meta data about the install.  So I extracted the file following the leading 32 bytes with:

dd if=binaryfilename.bin bs=1 skip=32 of=test.fs

And I was finally able to mount the compressed filesystem:

mkdir m #gives a place to mount the device
sudo mount -t cramfs test.fs m  # mounts the file test.fs onto m.

The you can browse into m and see everything installed on that drive.

I did a full scan of all open ports on the eva2000 with nmap

sudo nmap  -p 1-65535

 Starting Nmap 5.21 ( ) at 2012-11-02 22:44 EDT
Nmap scan report for (
Host is up (0.0033s latency).
Not shown: 65533 closed ports
51887/tcp open  unknown
63681/tcp open  unknown
MAC Address: 00:26:F2:3A:92:97 (Netgear)

Nmap done: 1 IP address (1 host up) scanned in 12.92 seconds

and saw the following two TCP ports open:  51887 and 63681

Telneting into both ports and hitting return a few times gave me this error:

>telnet 51887

Connected to
Escape character is '^]'.

HTTP/1.1 412 Failed
Server: Verismo, POSIX, DLNADOC/1.00 INTEL_NMPR/2.1 UPnP/1.0 Intel MicroStack/1.0.1677
Content-Length: 0

> telnet 63681

Connected to
Escape character is '^]'.

Connection closed by foreign host.

Connecting a web browser to both of them just gives an xml output on 63681:

<root><specVersion><major>1</major><minor>0</minor></specVersion><device><deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType><X_DLNADOC>urn:schemas-dlna-org:device-1-0</X_DLNADOC><friendlyName>Netgear EVA2000</friendlyName><manufacturer>NETGEAR</manufacturer><manufacturerURL></manufacturerURL><modelDescription>Digital Entertainer Live</modelDescription><modelName>EVA2000</modelName><modelNumber>EVA2000</modelNumber><serialNumber> </serialNumber><UDN>uuid:[redacted]</UDN><serviceList><service><serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType><serviceId>urn:upnp-org:serviceId:AVT_1-0</serviceId><SCPDURL>AVTransport/scpd.xml</SCPDURL><controlURL>AVTransport/control</controlURL><eventSubURL>AVTransport/event</eventSubURL></service></serviceList></device></root>

Which appears to be a DLNA server.


I will try to wireshark after a soft reboot to see what server it looks for an update on.  If I can go to that server myself it might tell me something.  And I might be able to do a man in the middle attack on my own box to intercept any encrypted communcation if they do it over https.