Monthly Archives: June 2011

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 as ‘obligation_outlay_year’,
      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.

Dong Shin 06.29.11

  • thought the save problem in Visibility Scripting had gone away magically…
  • found a bug in storeScript method in in VisibilityScriptingServer
    • added try – catch for Integer.parseInt
    • updated sqlStr for intervalMinutes

Dong Shin 06.28.2011

  • revisiting Scripting
  • can now be saved…. no more errors
  • questions
    • What projects are under #% under budget?
    • What managers/Financial people have project > 10%?
    • What projects are overdue?
  • reworking to retrieve the data

    Mike 6.27.2011

    • Reworked the welcome screen so each Application has it’s own description available prior to launching the app
    • Redoing the module loading so for each IApp class a ClassFactory is passed around instead of a raw Class, this lets me attach things like titles, descriptions, and icons at run-time
    • Created a generic SWF Loader IApp that, at run-time, a user may enter the url of a swf and load it as an application
      • Was able to load WebDesk inside of itself at total of 9 times before i ran out of room (Webception)
      • Trouble with loading visibility: the config file is not found since it is a relatively URL and not absolute, quick fix is to copy config files to local deployment
    • Extended the ClassFactory implementation to allow pre-configuration of swf loaders
      • In the webdesk config file, I put a line describing a remote SWF I’d like to make available as an App
      • Once the applications starts, that app is loaded and added to the welcome screen beside all the other existing apps
      • This removes the requirement of the user entering in the URL

    Mike 6.23.2011

    • Deployed the WebDesk and SCT Document tool to FGMDev and worked out several bugs in the process.  Did NOT add pages describing it or linking to it yet.
    • Few more touches to the welcome screen.  Probably going to restructure it again to provide a description screen or each application
    • Tried debugging an issue with the JDBC connection failing every night but my fix apparently didn’t work since I still had to restart stuff this morning
    • Read some about Search Engine Optimization (SOE) for flash sites.  The most recommended way is to provide alternative html content for people without flash player and kill 2 birds with 1 stone.  For us, this could be as simple as copy / pasting the Visibilty, PPM, etc. descriptions to a couple simple HTML pages or as complicated as pulling them from a database for both the flash and html presentations.

    Phil 6.23.11

    7:30 – 5:00 VISIBILITY

    • I’ve reinstalled Ubuntu 10.10 after all of yesterday’s (failed) efforts. Trying FreeNX, following the directions here.
      • Installed openSSH
      • apt-get install freenx took *forever*. I think it installs gnome…
      • Might need this later – we’ll see.
      • KDE didn’t work, but GNOME did! Looks nice, and the server required no addition of the desktop outside of the basic install. However, it seems to have limited functionality. For example, I can’t launch a terminal window and the ‘Accessories’ menu is not there.
      • Going to try installing the standard ubuntu desktop (i.e. apt-get install ubuntu_desktop. Well, another long install, but things work quite nicely now.
      • Installed Eclipse (New version – Indigo!). Needs Java
      • Installed Java
    • Worked on the server some more. Sent Jeff an email with a link to a page that show how to set up the interface.
    • Talked to Vernon about my login problems. He thinks that it’s the result of a reorg they are going through. Still no luck with my SSL port.Testing the new PPM. It appears to still be missing the capability of setting it so that a user with a particular role is only able to see projects that they are associated with (as a Program Manager, Financial Analyst or POC(?). Added as bug 6097.

    Tom DeVito 6.22.2011

    Start: 10:40

    Arduino Communications:

    • Wrote a sketch to handle the communications and deserialization on the arduino side
    • Everything should work but I need to fix the PC side deserialization which is currently setup as a test method
    • Once I know all the methods work I will put them into a ArduinoCom library to keep the main sketch from getting cluttered
    • sendData may need some stuff added to it.


    • It is fine to send the DataElements individually instead of one buffer which is how I thought it had to be done
    • Serial.write needs a uint8_t* to the buffer.  I figured they are both 8 bit pointers so I just casted my char*.

    End: 5:30

    Have to be somewhere at 6:30 will make up the extra hour and change tomorrow.

    Phil 6.22.11

    8:00 – 7:00 VISIBILITY