Phil 7.7.11

8:00 – 4:00 VISIBILITY

  • Remembered my SF-86 stuff, so more paperwork today
  • And when I’m done with that, work on the web IDE paper
  • OK, I brought in the wrong (well, incomplete) forms. Working on the paper instead.
  • According to Vernon, The firewall request I had submitted was never going to get processed because it was associated with the wrong type of ticket. He created a new ticket, which I have now associated the request with. This is the most fun ever!

Phil 7.6.11

8:00 – 4:00

  • It looks like the webIDE concept is going to require a server that supports VMs in hardware. At this point, it’s no longer something that I can do on my own, so I’m going to write a whitepaper for FGM specifying what’s needed and punt.
  • Prepping the hand for a demo. Have forgotten how to calibrate the sensors, which have drifted. Oh. No power supply == no sensors. That’s whatr those two wires were for…
  • Well this is cool: http://tv.adobe.com/watch/adc-presents/control-the-desktop-with-your-mobile-device/
  • Also good: http://www.paultrani.com/blog/index.php/category/flashactionscript/
  • In the ongoing saga of our problem child server, Vernon sent out an email that he had addressed all concerns. I responded that port 443 was still closed and attached screenshots of everything working fine inside the firewall and blocked outside. Gee, I wonder if there will be any progress tomorrow?
  • Made some progress on my SF86, but forgot to bring in my old form.

Tom DeVito 7.5.2011

Start: 10:15

  • Thought I had figured out the looping problem before but it turns out I was skipping over some important steps.
  • Added the steps that were missing.  Most have to do with the DataDictionary.
  • The Arduino keeps choking.  I assume this is because of runtime errors
  • Started debugging line by line using a continuous send to light an led to tell me if the arduino hit an error. If it does the light turns off.
  • The arduino seems to be very picky about initializing variables before assigning them.  Things like DataElement* ptr = getItem(name); seem to cause errors
  • I was able to fix a lot of the runtime errors but am still having a problem with importData.  The line that seems to have the problem is where it gets the name from the DataElement.
  • I took out the size bytes in the send receive to make sure this wasn’t causing problems.  It is now set to send or receive the full 256 byte buffer.

End: 6:30

Dong Shin 07.05.11

  • projects under budget – https://localhost/VisibilityScriptingServer/Publisher/projectsUnderBudget.xml
  • query to find projects and data that doesn’t meet the goal
    • SELECT p.uid as ‘project_id’, p.project_number, b.uid as ‘budget_center_id’, b.center_number, b.appropriation, a.year as ‘budget_year’,
      REPLACE (FORMAT(a.amount,2),’,’,”) as amount, o.uid as ‘obligation_outlay_id’, o.year_count, o.year as ‘obligation_outlay_year’, o.type,
      REPLACE (FORMAT(o.month_1, 2),’,’,”) as month_1,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_1 * a.amount / 100), (g.obligation_month_1 * a.amount) / 100), 2),’,’,”) as goal_month_1,
      IF (o.month_1 < IF (o.type like ‘%Outlay%’, (g.outlay_month_1 * a.amount / 100), (g.obligation_month_1 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_1,
      REPLACE (FORMAT(o.month_2, 2),’,’,”) as month_2,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_2 * a.amount / 100), (g.obligation_month_2 * a.amount) / 100), 2),’,’,”) as goal_month_2,
      IF (o.month_2 < IF (o.type like ‘%Outlay%’, (g.outlay_month_2 * a.amount / 100), (g.obligation_month_2 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_2,
      REPLACE (FORMAT(o.month_3, 2),’,’,”) as month_3,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_3 * a.amount / 100), (g.obligation_month_3 * a.amount) / 100), 2),’,’,”) as goal_month_3,
      IF (o.month_3 < IF (o.type like ‘%Outlay%’, (g.outlay_month_3 * a.amount / 100), (g.obligation_month_3 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_3,
      REPLACE (FORMAT(o.month_4, 2),’,’,”) as month_4,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_4 * a.amount / 100), (g.obligation_month_4 * a.amount) / 100), 2),’,’,”) as goal_month_4,
      IF (o.month_4 < IF (o.type like ‘%Outlay%’, (g.outlay_month_4 * a.amount / 100), (g.obligation_month_4 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_4,
      REPLACE (FORMAT(o.month_5, 2),’,’,”) as month_5,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_5 * a.amount / 100), (g.obligation_month_5 * a.amount) / 100), 2),’,’,”) as goal_month_1,
      IF (o.month_5 < IF (o.type like ‘%Outlay%’, (g.outlay_month_5 * a.amount / 100), (g.obligation_month_5 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_5,
      REPLACE (FORMAT(o.month_6, 2),’,’,”) as month_6,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_6 * a.amount / 100), (g.obligation_month_6 * a.amount) / 100), 2),’,’,”) as goal_month_6,
      IF (o.month_6 < IF (o.type like ‘%Outlay%’, (g.outlay_month_6 * a.amount / 100), (g.obligation_month_6 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_6,
      REPLACE (FORMAT(o.month_7, 2),’,’,”) as month_7,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_7 * a.amount / 100), (g.obligation_month_7 * a.amount) / 100), 2),’,’,”) as goal_month_7,
      IF (o.month_7 < IF (o.type like ‘%Outlay%’, (g.outlay_month_7 * a.amount / 100), (g.obligation_month_7 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_7,
      REPLACE (FORMAT(o.month_8, 2),’,’,”) as month_8,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_8 * a.amount / 100), (g.obligation_month_8 * a.amount) / 100), 2),’,’,”) as goal_month_8,
      IF (o.month_8 < IF (o.type like ‘%Outlay%’, (g.outlay_month_8 * a.amount / 100), (g.obligation_month_8 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_8,
      REPLACE (FORMAT(o.month_9, 2),’,’,”) as month_9,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_9 * a.amount / 100), (g.obligation_month_9 * a.amount) / 100), 2),’,’,”) as goal_month_9,
      IF (o.month_9 < IF (o.type like ‘%Outlay%’, (g.outlay_month_9 * a.amount / 100), (g.obligation_month_9 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_9,
      REPLACE (FORMAT(o.month_10, 2),’,’,”) as month_10,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_10 * a.amount / 100), (g.obligation_month_10 * a.amount) / 100), 2),’,’,”) as goal_month_10,
      IF (o.month_10 < IF (o.type like ‘%Outlay%’, (g.outlay_month_10 * a.amount / 100), (g.obligation_month_10 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_10,
      REPLACE (FORMAT(o.month_11, 2),’,’,”) as month_11,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_11 * a.amount / 100), (g.obligation_month_11 * a.amount) / 100), 2),’,’,”) as goal_month_11,
      IF (o.month_11 < IF (o.type like ‘%Outlay%’, (g.outlay_month_11 * a.amount / 100), (g.obligation_month_11 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_11,
      REPLACE (FORMAT(o.month_12, 2),’,’,”) as month_12,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_12 * a.amount / 100), (g.obligation_month_12 * a.amount) / 100), 2),’,’,”) as goal_month_12,
      IF (o.month_12 < IF (o.type like ‘%Outlay%’, (g.outlay_month_12 * a.amount / 100), (g.obligation_month_12 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_12
      FROM project_portfolio.projects p, project_portfolio.budget_centers b, project_portfolio.budget_amounts a, project_portfolio.obligations_outlays o, project_portfolio.obligations_outlays_goals g
      WHERE p.uid = b.project_id AND b.uid = a.budget_center_id AND b.uid = o.funding_id AND b.appropriation = g.appropriation
      AND g.year = year_count AND a.year = g.year
      AND (
      o.month_1 < IF (o.type like ‘%Outlay%’, (g.outlay_month_1 * a.amount / 100), (g.obligation_month_1 * a.amount) / 100) OR
      o.month_2 < IF (o.type like ‘%Outlay%’, (g.outlay_month_2 * a.amount / 100), (g.obligation_month_2 * a.amount) / 100) OR
      o.month_3 < IF (o.type like ‘%Outlay%’, (g.outlay_month_3 * a.amount / 100), (g.obligation_month_3 * a.amount) / 100) OR
      o.month_4 < IF (o.type like ‘%Outlay%’, (g.outlay_month_4 * a.amount / 100), (g.obligation_month_4 * a.amount) / 100) OR
      o.month_5 < IF (o.type like ‘%Outlay%’, (g.outlay_month_5 * a.amount / 100), (g.obligation_month_5 * a.amount) / 100) OR
      o.month_6 < IF (o.type like ‘%Outlay%’, (g.outlay_month_6 * a.amount / 100), (g.obligation_month_6 * a.amount) / 100) OR
      o.month_7 < IF (o.type like ‘%Outlay%’, (g.outlay_month_7 * a.amount / 100), (g.obligation_month_7 * a.amount) / 100) OR
      o.month_8 < IF (o.type like ‘%Outlay%’, (g.outlay_month_8 * a.amount / 100), (g.obligation_month_8 * a.amount) / 100) OR
      o.month_9 < IF (o.type like ‘%Outlay%’, (g.outlay_month_9 * a.amount / 100), (g.obligation_month_9 * a.amount) / 100) OR
      o.month_10 < IF (o.type like ‘%Outlay%’, (g.outlay_month_10 * a.amount / 100), (g.obligation_month_10 * a.amount) / 100) OR
      o.month_11 < IF (o.type like ‘%Outlay%’, (g.outlay_month_11 * a.amount / 100), (g.obligation_month_11 * a.amount) / 100) OR
      o.month_12 < IF (o.type like ‘%Outlay%’, (g.outlay_month_12 * a.amount / 100), (g.obligation_month_12 * a.amount) / 100)
      )
      ORDER BY b.uid, a.year, o.year

Phil 7.5.11

7:30 – 3:30VISIBILITY

  • OK, where was I? Let’s see – the server is still up and the compiler is still working. The choice is either to a) see how it runs on the actual Internet or b) start working on virtualization.
  • Looking at virtualization first.
    • Ubuntu has a script-driven system called vm-builder, but it’s at version 0.12. Here is some documentation.
    • IBM paper describing the process. It’s for Red Hat, but a good start
    • Hmmm. You need hardware support for VMs. If you run “grep -E ‘vmx|svm’ /proc/cpuinfo” and get a non-null result, you’ve got it. My server does not. fgmedev does, but it’s a vm already, so what does that mean?
  • Gave Jeff all the information I think he needs to get the paperwerk approved for his server. I gave him a followup call to verify that the information was what he needed and he seemed to think so. That being said, he was going to give the info to someone else to enter, so thay may have questions later as they get into the details
  • Started on my SF86 update

Mike 7.1.2011

  • It works!  I was able to load Visibility from fgmdev.com into WebDesk running on my local machine.  A few weird errors occur such as the minimize and maximize on the panel containing the swf loader throw security errors?  Will look at them next week.
  • Upgraded to Flex 4.5.1 and tried installing the plugin in to Eclipse 3.7.  It’s not officially supported and I got a few errors trying to make a java / flex combined project.
  • Installed Eclipse 3.6 and added the Flex plugin, no errors.  Working on migrating my workspace to the new installation and finalizing some of the server code for WebDesk.

Tom DeVito 7.1.2011

Start: 10:15

  • Found out the hard way that the arduino IDE doesn’t save automatically and, if you shutdown your computer, it will close automatically without asking if you want to save.
  • Spent most of the day getting the sketch back to where it was at the end of yesterday.  Will remember to save manually more.
  • Renamed and moved the PC side desrialization method to datadictionary::importData(char* buffer).  gets the name from the buffer, checks if the item exists,  then imports data from buffer to the local memory location.

End: 6:15

Dong Shin 06.30.11

  • Find projects that have less than goal in the first month query
    • SELECT p.uid as ‘project_id’, p.project_number, b.uid as ‘budget_center_id’, b.center_number, b.appropriation, a.year as ‘budget_year’,
      REPLACE (FORMAT(a.amount,2),’,’,”) as amount, o.uid as ‘obligation_outlay_id’,
      o.year_count,
      o.year as ‘obligation_outlay_year’,
      o.type,
      REPLACE (FORMAT(o.month_1, 2),’,’,”) as month_1,
      REPLACE (FORMAT(IF (o.type like ‘%Outlay%’, (g.outlay_month_1 * a.amount / 100), (g.obligation_month_1 * a.amount) / 100), 2),’,’,”) as goal_month_1,
      IF (o.month_1 < IF (o.type like ‘%Outlay%’, (g.outlay_month_1 * a.amount / 100), (g.obligation_month_1 * a.amount) / 100), ‘FLAG’, ‘OK’) as flag_month_1
      FROM project_portfolio.projects p, project_portfolio.budget_centers b, project_portfolio.budget_amounts a, project_portfolio.obligations_outlays o, project_portfolio.obligations_outlays_goals g
      WHERE p.uid = b.project_id AND b.uid = a.budget_center_id AND b.uid = o.funding_id AND b.appropriation = g.appropriation AND g.year = year_count AND a.year = g.year
      AND o.month_1 < IF (o.type like ‘%Outlay%’, (g.outlay_month_1 * a.amount / 100), (g.obligation_month_1 * a.amount) / 100)
      GROUP BY project_id
      ORDER BY b.uid, a.year, o.year

Tom DeVito 10.29.2011

Start: 10:00

  • Fixed a problem with PC receive method.
  • Fixed the deserialization method.
  • Single pass works both directions.
  • Found a problem with the states that was causing it not to loop properly.
  • Changing the code to receive sensor data and have the pc respond with commands to the arduino based on the data.
  • Commands will light 5 leds based on the pressure of the sensor.

End: 6:30

Tom DeVito 6.28.2011

Start: 10:30

  • Add a method to get the total size of the data element with the data so it could be loaded into the buffer easier
  • Was importing the size into the buffer which was causing the deserialization to not work correctly on the arduino side.
  • Arduino side is able to get data from the wire.
  • PC recieve doesn’t seem to be working correctly for DataElements

end: 6:30

Tom DeVito 10.24.2011

Start: 10:30

  • Continued writing test application
  • Tested it but its not working.  Wire lights light up but the data isn’t going to the right place.

End: 2:30

Left early to go on a camping trip.

Tom DeVito 6.23.2011

Start: 10:30

  • Edited the de-serialize method on the pc side so it should work with wire data.
  • Changed the size to be type char for now so that I didn’t have to worry about it being a 2 byte integer
  • Changed how receive data worked
  • Started writing a test application to send commands to the arduino and have them echoed back
  • Added states to the pc test application

End: 7:30

Mike 6.29.2011

  • Added about screen to the Application Class factories
  • Added the ability to have about screens on dynamically loaded application.  Must make sure the about screen class is compiled in to the swf in order for this to work.
  • Dealing with remotely loaded swfs trying to load configuration files
    • Initially could not find config file as it was looking for a relative URL
    • Copied the config file to the local file system so it found it but now threw weird security errors.  From the messages it’s hard to tell which crossdomain required fixing, localhost or fgmdev.  Turns out it was localhost because I was loading the visibility swf from fgmdev to localhost and running from there.  The fgmdev swf then tried loading ‘assets/setupModel.xml’ from localhost but threw an error because the orginal domain is fgmdev which doesn’t have permission to load files from localhost even though it’s running from localhost…. my brain hurts.
  • Resolved the security issue and now getting ‘an error occurred while attempting to display an error’ kind of message.  Or more specificially: “Cannot convert IOError to FaultEvent”.  So whatever method in visibilty that is responsible for handling the error is receiving the wrong object type.