- continue working on Query Builder (FA)
- added support for the columns that don’t exist in the column config. This allows SQL functions and alias names using ‘AS’
- added GROUP BY support
- reworked WHERE configuration to work with GROUP BY
- SparkResizableTitleWindow is now functional
Monthly Archives: August 2013
Phil 8.30.2013
8:00 – 11:00 SR
- Backups
- Training. Possibly the worst interactive training I’ve ever taken. Please don’t waste my time trying to make training a game. Give me the info, test me on it,and let me move on. Fighting robots!? Sheesh.
- Timesheet stuff.
11:00 – 5:00 FP
- Saving output – done
- Adding TargetSphere placement limits and size range – done
- Adding GoalBox size – done
- Setting up release build. Done, though it wasn’t easy. I had to turn off “cross project optimizing”. That worked, but I don’t know why.
- Still need to enable the “Next” button on the first pass through the test.
- Still need to box up all the components.
Dong Shin 08.29.2013
- continue working on Query Builder (FA)
- added Obligation/Outlay goals to the query
- added Export to Viz button (not functional, yet!)
- created SparkResizableTitleWindow (needs more work!)
- working on queries
- adding date calculations to the query xml config
- Flash Builder 4.7 allows more Java Heap Memory allocation (64bit!!) – seems to solve some slowness issues after increasing it to 2GB
Phil 8.29.13
8:00 – 10:30 SR
- Backups.
- Dong’s coming over? Yep. Discussion about queries with Lenny
10:30 – 4:00 FP
- Cleaning up commands. Mostly done
- While testing the “test” part of the app, I’m realizing that my “ratio” calculations have some issues. Before tying to fix them directly, I’m going to try just making a different gripper that has three “sensor spheres” on each finger. Then I can just let my “drag-based” physics to the whole job. Finished. That’s much better
- Quick! What’s wrong with the following code?
for(int i = 0; i < 3; ++i){ position[i] += velocityVec[i]; if(velocityVec[i] > drag*ratio){ velocityVec[i] -= drag*ratio; }else{ velocityVec[i] = 0; } }
- Yep, the drag is only being applied for objects moving in a positive direction. This is a problem that has been driving me crazy for days. I thought is was some artifact of the communication between the Phantom control loop (1k hz) and the simulation loop (100 hz). Nope. Simple math mistake. Facepalm.
- Pretty picture for the day. Notice that the grippers now have multiple points of contact:
- I’ve also started to notice how feedback changes the speed that you can perform the task. Haptic and tactor seem pretty close. Open loop is much worse, at least subjectively. Let’s see what the data says.
Phil 8.28.13
8:00 – 11:00 SR
- Backups
- Training
- Quick conversation with Lenny and Pat, all seems to be running fine.
11:00 – 4:00 FP
- Adding test logic
- Switching between test types.
- Since session is now integrated in the testing, I need eliminate session switches
- Need to pull the “general” logic out of the “simulation” command processing.
Dong Shin 08.28.2013
- continue working on Query Builder (FA)
- changed the way how Obligated/Outlay/PM Actual columns are handled. Had all the columns and set the visible property to false on all, but the one that’s selected. This seems confuses the FooterDatagrid as it showed all the footers in the bottom,….. Now one column for each, just change the dataField properties when the month selection happens.
- need to delete unnecessary columns from obligations_outlays_goals
- ALTER TABLE `obligations_outlays_goals` DROP `project_id`, DROP `funding_id`;
- query to find obligations/outlays/pm actuals and goals/percents
- SELECT project_number, req_description, req_id, projects.appropriation, budget_centers.total_budget,
GROUP_CONCAT(o.uid),
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_1, 0)) AS obligated_month_1, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_2, 0)) AS obligated_month_2,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_3, 0)) AS obligated_month_3, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_4, 0)) AS obligated_month_4,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_5, 0)) AS obligated_month_5, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_6, 0)) AS obligated_month_6,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_7, 0)) AS obligated_month_7, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_8, 0)) AS obligated_month_8,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_9, 0)) AS obligated_month_9, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_10, 0)) AS obligated_month_10,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_11, 0)) AS obligated_month_11, SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_12, 0)) AS obligated_month_12,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_1, 0)) AS outlay_month_1, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_2, 0)) AS outlay_month_2,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_3, 0)) AS outlay_month_3, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_4, 0)) AS outlay_month_4,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_5, 0)) AS outlay_month_5, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_6, 0)) AS outlay_month_6,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_7, 0)) AS outlay_month_7, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_8, 0)) AS outlay_month_8,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_9, 0)) AS outlay_month_9, SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_10, 0)) AS outlay_month_10,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_1, 0)) AS pm_actuals_month_1, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_2, 0)) AS pm_actuals_month_2,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_3, 0)) AS pm_actuals_month_3, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_4, 0)) AS pm_actuals_month_4,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_5, 0)) AS pm_actuals_month_5, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_6, 0)) AS pm_actuals_month_6,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_7, 0)) AS pm_actuals_month_7, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_8, 0)) AS pm_actuals_month_8,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_9, 0)) AS pm_actuals_month_9, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_10, 0)) AS pm_actuals_month_10,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_11, 0)) AS pm_actuals_month_11, SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_12, 0)) AS pm_actuals_month_12,(g.obligation_month_1 * budget_centers.total_budget) / 100 AS obligation_goal_month_1,
(g.obligation_month_2 * budget_centers.total_budget) / 100 AS obligation_goal_month_2,
(g.obligation_month_3 * budget_centers.total_budget) / 100 AS obligation_goal_month_3,
(g.obligation_month_4 * budget_centers.total_budget) / 100 AS obligation_goal_month_4,
(g.obligation_month_5 * budget_centers.total_budget) / 100 AS obligation_goal_month_5,
(g.obligation_month_6 * budget_centers.total_budget) / 100 AS obligation_goal_month_6,
(g.obligation_month_7 * budget_centers.total_budget) / 100 AS obligation_goal_month_7,
(g.obligation_month_8 * budget_centers.total_budget) / 100 AS obligation_goal_month_8,
(g.obligation_month_9 * budget_centers.total_budget) / 100 AS obligation_goal_month_9,
(g.obligation_month_10 * budget_centers.total_budget) / 100 AS obligation_goal_month_10,
(g.obligation_month_11 * budget_centers.total_budget) / 100 AS obligation_goal_month_11,
(g.obligation_month_12 * budget_centers.total_budget) / 100 AS obligation_goal_month_12,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_1 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_1,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_2 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_2,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_3 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_3,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_4 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_4,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_5 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_5,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_6 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_6,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_7 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_7,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_8 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_8,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_9 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_9,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_10 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_10,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_11 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_11,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, (month_12 / budget_centers.total_budget * 100), 0)) AS obligation_percent_month_12,(g.outlay_month_1 * budget_centers.total_budget) / 100 AS outlay_goal_month_1,
(g.outlay_month_2 * budget_centers.total_budget) / 100 AS outlay_goal_month_2,
(g.outlay_month_3 * budget_centers.total_budget) / 100 AS outlay_goal_month_3,
(g.outlay_month_4 * budget_centers.total_budget) / 100 AS outlay_goal_month_4,
(g.outlay_month_5 * budget_centers.total_budget) / 100 AS outlay_goal_month_5,
(g.outlay_month_6 * budget_centers.total_budget) / 100 AS outlay_goal_month_6,
(g.outlay_month_7 * budget_centers.total_budget) / 100 AS outlay_goal_month_7,
(g.outlay_month_8 * budget_centers.total_budget) / 100 AS outlay_goal_month_8,
(g.outlay_month_9 * budget_centers.total_budget) / 100 AS outlay_goal_month_9,
(g.outlay_month_10 * budget_centers.total_budget) / 100 AS outlay_goal_month_10,
(g.outlay_month_11 * budget_centers.total_budget) / 100 AS outlay_goal_month_11,
(g.outlay_month_12 * budget_centers.total_budget) / 100 AS outlay_goal_month_12,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_1 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_1,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_2 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_2,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_3 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_3,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_4 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_4,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_5 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_5,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_6 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_6,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_7 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_7,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_8 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_8,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_9 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_9,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_10 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_10,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_11 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_11,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, (month_12 / budget_centers.total_budget * 100), 0)) AS outlay_percent_month_12FROM projects
RIGHT JOIN budget_centers ON projects.uid = budget_centers.project_id
RIGHT JOIN budget_center_contracts ON budget_center_contracts.budget_center_id = budget_centers.uid
RIGHT JOIN obligations_outlays AS o ON o.project_id = projects.uid
RIGHT JOIN obligations_outlays_goals AS g ON projects.appropriation = g.appropriation
WHERE o.year = 2013 AND o.year_count = 1 AND (o.type = ‘Reported FACTS Obligated $:’ OR o.type = ‘Outlay $ (Reported in FACTS)’ OR o.type = ‘PM Actuals (Invoiced) Outlay $:’)
AND g.year = 1
GROUP BY funding_id
- SELECT project_number, req_description, req_id, projects.appropriation, budget_centers.total_budget,
Dong Shin 08.27.2013
- continue working on FA
- working on Query Builder
- added Obligations/Outlays/PM Actuals to the query
- added Obligations/Outlays/PM Actuals Check Boxes
- created GLOBALS.as class for global constants and static methods
- working on Query Builder
Phil 8.27.13
8:00 – 10:00 SR
- Backups
- Training
10:00 – 4:30 FP
- Goal Box – done. I had to add collision detection for determining if a TargetSphere was touching (for setup) or inside (achieving the goal). I basically wrote an axis-aligned bounding box where the radius of the TargetSphere was either added (inside) to or subtracted from (touching) the size of the GoalBox. I’m not calculating penetration, just looking for sign change on the line segment.
- Added <map> of UI_cmd to handle commands coming from the control system and results coming from the sim. Worked right the first time. Yay, C++ templates!
- Enable/disable haptics/tactors – done. It’s interesting to see how the behavior and feel of the system changes with the different capabilities enabled/disabled.
- Started working on the experiment session management
Picture for the day:
Phil 8.26.13
8:00 – 10:00 SR
- Backups
- Training
- Chris and Lenny are out – quiet!
10:00 – 4200 FP
- Working on adding test sequences and a goal box
- Added goal box. Working on rendering. I’ll need to break out the method that calculates a target’s initial placement so that it is aware of the box and is placed outside. It might actually be easier(?) to use spherical coordinates.
Dong Shin 08.26.2013
- continue working on FA
- working on Query Builder
- working on queries for Chris
- saving queries to QueryBuilderQueries.sql in resources/database/
- adding Obligations/Outlays to the Query Builder
- query to find obligaed, outlay, pm actuals
- SELECT projects.*, bc.*, bcc.*,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_1, 0)) AS obligated_month_1,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_2, 0)) AS obligated_month_2,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_3, 0)) AS obligated_month_3,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_4, 0)) AS obligated_month_4,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_5, 0)) AS obligated_month_5,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_6, 0)) AS obligated_month_6,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_7, 0)) AS obligated_month_7,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_8, 0)) AS obligated_month_8,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_9, 0)) AS obligated_month_9,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_10, 0)) AS obligated_month_10,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_11, 0)) AS obligated_month_11,
SUM(IF(o.type = ‘Reported FACTS Obligated $:’, month_12, 0)) AS obligated_month_12,SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_1, 0)) AS outlay_month_1,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_2, 0)) AS outlay_month_2,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_3, 0)) AS outlay_month_3,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_4, 0)) AS outlay_month_4,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_5, 0)) AS outlay_month_5,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_6, 0)) AS outlay_month_6,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_7, 0)) AS outlay_month_7,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_8, 0)) AS outlay_month_8,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_9, 0)) AS outlay_month_9,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_10, 0)) AS outlay_month_10,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_11, 0)) AS outlay_month_11,
SUM(IF(o.type = ‘Outlay $ (Reported in FACTS)’, month_12, 0)) AS outlay_month_12,SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_1, 0)) AS pm_actuals_month_1,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_2, 0)) AS pm_actuals_month_2,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_3, 0)) AS pm_actuals_month_3,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_4, 0)) AS pm_actuals_month_4,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_5, 0)) AS pm_actuals_month_5,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_6, 0)) AS pm_actuals_month_6,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_7, 0)) AS pm_actuals_month_7,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_8, 0)) AS pm_actuals_month_8,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_9, 0)) AS pm_actuals_month_9,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_10, 0)) AS pm_actuals_month_10,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_11, 0)) AS pm_actuals_month_11,
SUM(IF(o.type = ‘PM Actuals (Invoiced) Outlay $:’, month_12, 0)) AS pm_actuals_month_12FROM projects
RIGHT JOIN budget_centers AS bc ON projects.uid = bc.project_id
RIGHT JOIN budget_center_contracts AS bcc ON bcc.budget_center_id = bc.uid
RIGHT JOIN obligations_outlays AS o ON o.project_id = projects.uid
WHERE o.year = 2013 AND o.year_count = 1
AND (o.type = ‘Reported FACTS Obligated $:’ OR o.type = ‘Outlay $ (Reported in FACTS)’ OR o.type = ‘PM Actuals (Invoiced) Outlay $:’)
GROUP BY funding_id
Phil 8.23.13
8:00 – 10:00 SR
- Backups
- Paperwork
- Added Dimitri as a VISIBILITY user with his on role so that he can play around.
- Timesheets!
10:00 – 4:00 FP
Phil 8.22.13
8:00 – 10:00 SR
- Backups
- The Shortest Meeting Ever. Chris liked the “Planned $$” idea but wasn’t OMG. Sigh.
- Dong’s taking the rest of the day and tomorrow off.
10:00 – 5:00
- Adding a calibration feature to the Vibrotactile headset code – done
- Adding speaker wire extensions to the 5 spare actuators I’ve got – done
- Integrating sound into TargetSphere – didn’t quite make it…
Phil 8.21.13
8:00 – 10:30 SR (And 8:00 – 11:00 yesterday)
- Backups
- Walked through some issues with Pat.
10:30 – 4:30 FP
- Integrating test code and event management.
- Adding sound pointers to TargetSphere.
Dong Shin 08.20.2013
- continue working on RA/FA
- working on Auto-Fill to 100% – done. Auto-fills all the way to the end of the appropriation years
- added a ProgressBar to RequistionsView in RA
- working on QueryBuilder
Dong Shin 08.20.2013
- deployed new RA, few bugs @ requirements page
- updated financial data – $0 up to July for FY13 projects
- working on FA/RA
- clear data on logout of RA
- working on RDT&E and Procurement not creating financial data correctly…..
- fixed in FA – wasn’t getting correct Appropriation Lenth
- need to fix the database manually – FixFinancialData.sql in resources directory under FA
- FA’s user managements menus are all functional
- FA’s COGNOS Data Mgmt is functional
- working on Auto-Filling of 100%
You must be logged in to post a comment.