Monthly Archives: February 2011

Phil 2.8.11

7:30 – 5:30 VISIBILITY

  • Mike Cowan leaves S2F this Friday.
  • Got a few more screenshots from Trish and Christie. Fortunately they have nothing new in them. Dong is still on track for a disk by COB
  • Working on getting RemoteObjectTestbed2 working. This one has no java code in it and has logging. Got both working. Next, projects.
  • Taking a detour into building a few statistics actionscript classes.

Phil 2.7.11

7:30 – 5:00 VISIBILITY

  • Meeting with Trish, Christie, and someone new who I can’t remember right now.
    • Bugs – several, all hopefully having to deal with DB configuration. I gave Dong the screenshots
      • Also, add two more lines under mailing address in funding request
      • Funding request warning dialog has “financial” misspelled as “fianancial”.
      • Add “RTAs” to funding type under “detailed Information” tab
      • Selecting names seems to offer up only 20 or so names. What is the selection criteria? The same list appears for all selection buttons
      • Add check so that no start date be saved that is after an end date
      • The “Add Funding” dialog needs a sortable list for contract number – it’s a very long list. It’s also too narrow – there are some very long contract numbers. Panel is too small as well.
    • Next highest priority is the “email generator” This will produce messages to copy and paste into messages to the Financial and technical POCs
      • Create an email like the one in Funding Request for each POC that has the current financial data that they have to fill in, and the associated forms if they are not on goal
      • Have a list of all projects that the user can move through to create all emails in and easy way
      • List should have a dropdown that lets the user select the year and reporting period. Selecting a time period (FY/Quarter?) will bring up the list of POCs and the status
      • Users should be able to indicate the state of the contact:
        • Nothing done
        • Email sent out
        • Response back
        • Response entered – incomplete (if a goal has not been met and there is no justification, this should be flagged automatically. There may be an additional button if this is the case that asks the POCs for justifications
        • Response entered – complete
    • Status panel notes:
      • PPM calculated outlay should be a “checksum” of numbers. The true PM Actual Outlay needs to be entered by hand
      • Available balance is the percentage of the “last remaining to distribute” divided by the total budget
      • Goals are calculated as the total budget times the “out year” in the appropriation
  • Worked on migrating DbObject classes out of the sandbox and into the utils jars/swcs

Phil 2.4.11

12:00 – 6:00VISIBILITY

  • GREs this morning
  • Working on InfoObjectManager.as
  • Got an overview of the new PPM capability from Dong so that I can talk intelligently to Christie and Trish on Monday
  • Interview at 4:00
  • More InfoObjectManager.as. I think I have the actionscript side working.

Dong Shin 02.08.2011

  • FGMDEV backup
    • still missing database dump files….
    • modified the script to tar up the dump files and transfer, check tomorrow
  • PPM Changes
    • FinancialStatusDataGrid acting weird… Could not select anything other than last one. Turned out the uid field in the class causing it. Had same uid’s populated on the data. Changed it to dataUid, works now….
    • Errors reported on the latest deployed version
      • changed Create Project to set program_element and FACTS_PE fields to NULL for existing data
      • updated server code to remove INSERTs
    • Fixing bugs
      • Funding request warning dialog has “financial” misspelled as “fianancial”.
      • Removed limit of data in Names list  – had 100 entries
      • Increased width of Contract Number in Direct Cite Window
      • added RTAs to Funding Type
      • check for Start Date and End Date, also disables dates based on selection
      • working on SelectContractWindow

Christine 02.05.2011

  • Checked out and tested Ingest Manager, EdgeUtils2 and AccountManager on my mac to see difference:
    • Needed to remove duplicate dependencies
    • Definitely needed to change flex-maven_plugin to version 3.8
    • file .flexconfig.xml was generated by maven on Dong’s mac. This file was NOT generated on mine.
    • The -locale flag in Compiler settings needed to be empty in Flash Builder/Eclipse on my Mac because it threw the same errors that were occurring on my Windows machine yesterday.
  • 2 issues remain:
    • Ingest Manager: could not install application via Maven Assist. It led to to OutOfMemory: Java Heap error. I set MAVEN_OPTS in the terminal. Still failed to install application in Maven Assist, but could successfully install the application via the terminal window.
    • EdgeUtils: Continue to get a problem associated with the compiler settings. By default (after checking out the project) the additional compiler settings had “-include-sources:C:Phil…..EdgeUtilssrcmainflex”. I removed this setting completely, only to receive another error “nothing was specified to be included in the library” (this same error was generated if I added in the -locale argument). Finally, I took original argument, but changed it to point to my EdgeUtilssrcmainflex directory, only to be told that “could not find resource bundle in logging, messaging, rpc, SharedResources, validators”. Need to find out from Dong what his compiler argument is set to — hopefully that will resolve the issue on my mac.

Christine 2.04.2011

  • Spent time with Dong to go over the errors I was receiving with Ingest Manager. Turns out that flexmojos-maven-plugin 3.8 doesn’t allow for duplicate dependency statements in the POM file where v.3.2 did. This is also why Maven Assist would crash when trying to set the POM file. Once duplicates were removed Maven Assist was able to successfully set the POM.
  • Checking out a few other older projects – EdgeUtils and Account Manager. EdgeUtils had a clean POM, but Account Manager ended up throwing the same error. Turns out it too had duplicate dependencies written into its POM file. Once removed, that error disappeared.
  • Discovered a few other gotchas that Dong outlines in his post:
    • Maven generating different Flex project settings for Mac and Windows? –> I will be testing this on my Mac to see if I generate the same project settings as Dong.
    • -locale flag in Compiler settings needs to be empty to compile in Flash Builder/Eclipse? It works fine on Mac, but Windows complains. –> Again, going to check this setting on my Mac to see if true.

Tom.DeVito 1.4.2011

I2C:

  • Found out that com port was not being initialized properly.  Thought this might be due to cstring not converting to lcpcwstr.  Changed com ports name variable to char[].   This did not convert right either.  wchar_t is the correct type to convert to lcpwstr.  This was not the problem though.
  • For some reason, adding a colon after the COM4 made windows happy.  I don’t think this is always necessary considering it is in none of the examples.  How I figured this out was by adding a GetLastError() after the CreateFile call which gave me the error of 123 or file does not exist.  There were many different solutions to the problem and adding a colon doesn’t always work but this time it did.
  • Still can’t write to the register but at least I have a valid HANDLE now.
  • Figured out what was wrong.  To write to the register you need to send 5 bytes to the controller.
  1. Controller Command: This is different for different IC.  We want to use 0x55 because we want to talk to chips that have a 1byte internal address
  2. Address of the chip: These will be 0x5z. z will depend on how the address pins are set.  If both address pins are set to group 0x58 is what you want to send.
  3. Internal Address bit:  0x00 is what I used,  I believe 0x80 will give you the second register but i am not positive.  You can also mute with this byte again not tested yet.
  4. How many bytes of data will be sent:  In our case this is 1 do 0x01.  This is what I was missing when I tried this before.
  5. Step number you want in hex:  Put in whatever range you want 0-255 decimal in hex form.  It is approximately 40 ohms per step.

The way this looks in c

void changeResistance(){

BYTE sbuf[100];
DWORD n;

hCom = CreateFile( temp, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
//set-up com port settings
if (INVALID_HANDLE_VALUE == hCom)
{
printf(“Error: Could not open the RS232 port!”);
getch();
}

sbuf[0] = 0x55;  //controller command
sbuf[1] = 0x58; //address
sbuf[2] = 0x00; //internal address
sbuf[3] = 0x01; //# of bytes to be sent
sbuf[4] = 0x0A; // steps of resistance
WriteFile(hCom, &sbuf, 5, &n, NULL);
ReadFile(hCom, &sbuf, 1, &n, NULL);

getch();

}

Your supposed to set-up the com port settings which is not shown here.  The ReadFile is not really used in this program but would allow you to read the data you just put in to confirm it.

Repairing the hand:

Repairs are almost completely done.  Everything is attached and most of the pairs are responding with good sensitivity. The only pair not working is the index finger.  For some reason the top was settled 100ohms higher then it was supposed to be.  Ground off this connection and glued a new strain gauge and terminal to it.

Tom.DeVito 2.3.2011

I2C:

Still not working but here are some notes.

  • The usb-i2c adapter has the pull up resistors for the sda/scl lines built into the pcb.
  • start, stop, acknowledge bytes are handled by the i2c master and do not need to be done manually
  • Finally figured out how to use the i2c test application.  The chip seems to be working but it is changing the values for both registers instead of only one.  At least I know the address I was using is right.  I think the c program is not writing properly because whenever it writes, a green led should light up on the adapter.

Dong Shin 02.04.2011

  • FGMDEV backup…
    • mysql dump files missing again…. runs fine on command line. capturing output of cron job.
    • adjusted the script a bit, check again tomorrow.
  • Assisted Christine with Maven and Flex projects
    • went thru AccountManagers, EdgeUtils2, and IngestMananger
    • old projects use flexmojos-maven-plugin 3.2.0, we are using 3.8 now. 3.2.0 is not available at sonatype.org, we just have local server copy at fgmdev.com
    • old projects have duplicate entries for com.adobe.flex:license:3.2.0.3958 causing MavenAssist to crash
    • Maven generating different Flex project settings for Mac and Windows?
    • -locale flag in Compiler settings needs to be empty to compile in Flash Builder/Eclipse? It works fine on Mac, but Windows complains.
  • PPM Changes
    • added Tooltips to show contractor name and location on Contract Number ComboBoxes, both AddDirectCiteWindow and FundingRequest
    • mapping Funding Request Data to Financial Status
      • Submit Date (bf_submit_date) to Submitted To BA/BF
      • Certified Date (certified_date) to Certified Date
      • Acceptance Date (acceptance_date) to Acceptance
      • obligation_deadline_date to Funding must be obligated by
      • start_period_performance to Period of Performance
      • Missing Received Contract, Monthly Tech Report, Acceptance Received, MIPR/FAD Requested and Received Dates? dummy for now.
  • list of questions to ask…
    1. General flow of showing Financial Status
    2. Missing fields from Funding Request, if these are stored in Funding Request, where would you be entering data from? Just the Financial Status or Funding Request or both? If in Funding Request, where would it go?
      1. MIPR/FAD Requested from Service
      2. MIPR/FAD Request Received
      3. Date Acceptance Received
      4. Received Contract
      5. Initiate/Commit
      6. Monthly Tech Report
    3. Which are the editable fields in the financial status data form?
      1. PM Actual Outlay is calculated = obligation – outlay
      2. Remaining to Distribute = gradually subtract amount from total
    4. How are the summary data calculated?
      1. Available Balance
      2. Where would the goals come from?
    5. Reimbursable and Direct Cite mutually exclusive, can we control this like letting users enter data to only one place, not both?

Mike 2.3.2011

Continuing working on paged data sources…

  • Got paged data working within a Flex data grid, it loads pages of 100 records as they are viewed in a datagrid.  The datagrid scrollbar appears as if ALL the records are currently loaded.  While scrolling down rapidly you will see blank rows that quickly fill in with data as the pages are loaded.  It’s quick and quite seamless.
  • Unfortunately this implementation doesn’t allow for sorting or filtering and requires a special arraycollection and data handling code on the flex side.
  • I’m going to take a step back and see how lazy loading works.  There is apparently an implementation that allows lazy loading, is bindable, and requires no special code on the Flex side.  Looking in to it.

Also working on installing Helios and configuring Dynamic web applications. following phil’s notes.

Phil 2.3.11

7:30 – 4:30VISIBILITY

  • Deployed the new PPM and while testing it, found that there was some odd behavior in the comments. Took a screenshot and gave it to Dong, who was also perplexed.
  • Adding table updates (adding and deleting columns) and drop table capability to infoObjectManager.java – done
  • Need to add the same capability to InfoObjectManager.as.
  • It looks like we might need to write a tool that lets folks create update files that can then be emailed back to the financial folks for upload into the PPM database. Going to a meeting to discuss same
  • Added generic query to infoObjectManager.java.
  • Added check for “NULL” values when doing conversions from objects to sqlInfoObjects

Dong Shin 02.03.2011

  • FGMDEV backup not working properly.
    • found that sql dump files not transferred to philfeldman.com. The script works fine manually… will check again tomorrow
    • added output to the cronjob – /exchange/backups
  • PPM Changes
    • got many duplicate comments entries in View Comments??? looked at the database and code…. nothing.
    • fixed Date field in View Comments showing same Date…
    • currently deployed database – project_portfolio_02032011
    • saving database update sql – DBUpdateSQLs02032011.sql
    • fixed Funding Request updating type incorrectly
    • removed all additional fields from budget_amounts table – some fields go into funding_requests table
      • ALTER TABLE `budget_amounts` DROP `MIPR_requested_date` ,
        DROP `MIPR_request_received_date` ,
        DROP `submitted_to_BABF` ,
        DROP `document_number` ,
        DROP `certified_date` ,
        DROP `received_contract_date` ,
        DROP `initiate_commit` ,
        DROP `obligation` ,
        DROP `outlay` ,
        DROP `pm_actual_outlay` ,
        DROP `monthly_tech_report_date` ,
        DROP `comments` ;

Mike 2.2.2011

Working on creating a paged data collection system where, essentially, the data collection only loads the parts of the data currently being viewed.  It is basically a paged data sources where unused pages are thrown away to prevent a continual build up of data on the server.

Started by going out and looking at the latest and greatest examples of database to Flex UI using BlazeDS.  The most promising and generic seems to be accessing a database through Hibernate and the JPA API.  It maintains an in memory cache of the data and takes care of syncing it with the database (which can by any relational database, HSQLDB, mySql, Oracle, etc.).

I made a simple, non-paged data service that returns a list of fake customers (name, email, phone) and after one day can display a datagrid of 15,000 customers in flex in under 1 second.  I’m going to up the number of entries in my database for 100,000 and see what happens on the flex side. I may also trying to add more columns with much more data per row to see how that affects timing and memory.

Once I have an idea of timings and the most efficient way to do things without paging, I’ll try paging the data and see how much of an improvement that is.

Useful Stuff:

Dong Shin 02.02.2011

  • PPM Changes
    • fixed a bug Funding Request not updating project_id
    • Remaining to Distribute calculation – keep subtracting Amount from FY BUDGET
    • add outlay to Reimbursable and Direct Cites
      • ALTER TABLE `funding_requests` ADD `outlay_amount` DOUBLE NULL AFTER `reimbursable_amount`
      • ALTER TABLE `direct_cites` ADD `outlay_amount` DOUBLE NULL AFTER `obligation_amount`
    • add contract info for Reimbursable in funding_request
      • ALTER TABLE `funding_requests` ADD `contract_id` INT NULL ,
        ADD INDEX ( `contract_id` )
      • ALTER TABLE `funding_requests` ADD FOREIGN KEY ( `contract_id` ) REFERENCES `project_portfolio`.`contracts` (
        `uid`) ON DELETE SET NULL ON UPDATE CASCADE ;

  • backing up FGMDEV
    • created a shell script and added to crontab – /exchange/backups/backup.sh
      • runs at 1AM everyday, keep last 3 days of data
      • ftp information (vizncon@philfeldman.com to backups directory)
      • ~4GB of data, 90 minutes package and transfer……
    • SVN – svnadmin dump /path/to/reponame > /tmp/reponame.dump ;
    • Nexus Maven Repo
      • zip up /opt/sonatype-work
    • Blog
      • zip up /opt/lampp/htdocs/blogs and /opt/lampp/SCT-Blog
      • back up MySQL Database; fgmdev_blog and sct_blog
        • /opt/lampp/bin/mysqldump -u root –password=edge fgmdev_blog > /exchange/backups/fgmdev_blog.dump

Phil 2.2.11

8:00 – 4:00 VISIBILITY

  • Hey! No ice!
  • Described the new FGM development incentive structure do Dong. Also, he’s going to start regular backups of fgmdev just in case VA forgets to pay the bill.
  • Statistics class
  • Working on tying the server side code back to the flex side for generic table retrieval. First pass is done! Login is now handled in the new system.
  • Burned a disk of new PPM swf