Author Archives: pgfeldman

Phil 5.29.12

7:30 – 4:30FP

  • Adding in more sounds.
  • Looks like the contact sound is never enabled.
  • Sounds are all fixed and working. If too many characters come in, the Arduino crashes, but it seems pretty robust. I’m going to give each finger a different pitch tomorrow. For now, hit and movement sounds are off.

Interview at 10:00. Here’s hoping that I find out who it’s with and where it is before I have to leave. Yay. I have an address and contact info.

Mike 5.28.2012

  • Working on the chart stuff from home
  • Finished my class structure and all toXml and fromXml methods, here’s an example:

And the XML that defines it:

<flexichart>
<series>
<set seriesType=”ColumnSet” type=”clustered”>
<series>
<series seriesType=”ColumnSeries” yField=”0″ fillColor=”14976769″ fillAlpha=”1″/>
<set seriesType=”ColumnSet” type=”stacked”>
<series>
<series seriesType=”ColumnSeries” yField=”1″ fillColor=”10861646″ fillAlpha=”1″/>
<series seriesType=”ColumnSeries” yField=”2″ fillColor=”1807833″ fillAlpha=”1″/>
</series>
</set>
</series>
</set>
</series>
</flexichart>

 

Now I need to start working on the configuration screen

Also, here is a useful link for parsing XML using e4x: https://developer.mozilla.org/en/E4X_Tutorial

Mike 5.25.2012

  • Production backups
  • Back and forth emails with Jessica R. regarding account troubles, she was trying to log in to the data vis thinking it was project assistant
  • sent out the vis tool weekly status email
  • After lots of digging I found a connectivity trouble shooting guide designed for the problems we’re having! I found a link to it through someone’s blog.  I plan on using to it write our own troubleshooting guide to send to users.
  • I sent a few tests from the troubleshooting guide to a local site admin I’ve been working with.
  • Worked with Dong to debug an issue with my auto-login system

Phil 5.25.12

8:00 – 5:00 FP

  • Added set and get byte methods to DataElement.
  • Tested sounds. Things are working much better. Nice job, Tom!
  • Working through note change/on/off logic in sim – done
  • The midi boards need to have power cycled to get a reset?
  • PAD lab meeting
  • Got the collision sound working reliably. Calling it a day.
    • >>{“nm”:f1Ht,”vol”:128,”nt”:84,”instrument”:116}<< // hit
    • >>{“nm”:f1Ct,”vol”:128,”nt”:72,”instrument”:59}<< // contact
    • >>{“nm”:f1Mv,”vol”:128,”nt”:60,”instrument”:20}<< // move

10:00 phone interview

Tom DeVito 5.24.2012

Start: 6:00

  • My wrong pin theory was incorrect.  Yesterday, I thought that the top pins on the aux IO pin block might be pin 22 and 23, throwing off my numbering.  It turns out, the reason these pins were hot(putting out voltage) was because they were in fact 5 volt pins.  This means the numbering is correct.
  • The middle and rings midi controllers were swapped.  Problem solved.
  • I found while running my testing sketch that the reset method does work on all but the index finger.  Upon inspection of the midi board, I found that a surface mounted capacitor had a broken connection.
  • Tried to repair the problem but it was beyond fixing.  Cut all the wires and confirmed that this was the one having problems.
  • After replacing the Midi shield, the reset method was still not working.  The connector for the reset was not connecting properly.  I guess it was just a coincidence that the capacitor was also loose.  I am not sure how the capacitor was effecting the functionality of the shield as it seemed to work but wouldn’t reset.  Regardless it is probably best that it was replaced.
  • Everything seems to be working now.  I changed the instrument from church organ to viola 42 because the organ wasn’t sustaining properly.  I am pretty sure the organ is supposed to but I couldn’t get it to do it.
  • It just occurred to me that maybe you were not selecting church organ properly.  Change instrument accepts bytes and you are passing it an int.  There is likely a loss of data issue there.  I am pretty sure all the midi class parameters are signed bytes are what the midi protocol uses.
  • Tested this by hard coding the instrument settings and it sustained properly.
  • When it first starts up it does not sustain the first note but when you start one through the console it sustains properly
  • I tried a few different strings and they all seemed to work as expected.
  • If you have any problems call me 301-787-0490.  I am hoping to hit the road by noon at the latest so if you can me before then I may be able to drop by if necessary.
  • I will clean up the office Monday.

End 4:30

Dong Shin 05.24.2012

  • Demo/Tutorial at the site with Mike
  • fixed scriptEngine returning Byte to String for VisibilityScripting
  • fixed SolrXMLIngest to change illegal characters in column names to ‘_’
  • following fields to be added to PPM’s Budget Centers
    • Funding Type – BASE or OCO
    • Location
    • Org
  • SQL to add the fields to the budget centers
    • ALTER TABLE `budget_centers` ADD `funding_type` VARCHAR( 255 ) NULL DEFAULT ‘BASE’,
      ADD `org` VARCHAR( 255 ) NULL DEFAULT ‘S1’,
      ADD `location` VARCHAR( 255 ) NULL DEFAULT ‘Fort Meade, MD’;

Mike 5.24.2012

  • Production backups
  • Checked on the ticket status for diagnosing connection problems to specific sites; it is “in the queue.”
  • Demo/Tutorial with Jessica R., Lenni M., and Carla H. at my desk.  We went over PA, PPM, and data vis.  I gave them PPM accounts and made them all admins.  They seemed excited about the tool. A few issues arose from the demo:
    • in the data vis, periods cannot appear in column headers or you have problems
    • Need new columns for reqs:
      • Funding Type
      • Physical Location
      • Organization
  • Fix the period issue by having all ingestors replace periods in headers with underscores

Phil 5.24.12

8:00 – 9:30, 2:30-4:00 FP

  • Probably going to take a few hours to go to Salisbury today. Tom needs the time to make the electronics work anyway.
  • Adding the note on/off code to SoundWrapper
    • Use pitch to set up note changes
    • If a new note comes in (either as a new note or from pitch), then we need to turn the old not off, then add a new JSON string that turns the new note on.
    • Start thinking about polyphony.

Phil 5.23.12

8:00 – 4:00 FP

  • Back from the mini-vacation, which was fine until it became horrible.
  • Working with Tom on getting sounds to behave. It turns out that a single channel/instrument can be polyphonic, which is very cool, but it means that you have to turn a note on and off. I adjusted the SoundDataObject.update() method so that a JSON element of {"nt":72} will play middle C, while {"nt":-72} will turn it off. Setting {"nt":0} will trigger a reset of the Midi for that finger. Or at least it should. Reset isn’t working. Tom thinks it may be a mislabeled pin.
  • Cool thing for the day: https://live.leapmotion.com/. It strikes me that the Leap could be used as the basis for a finger chasing robot.

Mike 5.23.2012

  • Production backups
  • Worked with Dong to try and mesh the COGNOS data and our data, we had a bit of trouble matching things up so we went and spoke with Jessica R..  She seems to have a very good picture of how the budgets are organized and also showed us some reports she’d like to be able to produce.  There are a few fields that need to be added to Reqs to produce them: type, physical location, and Org.
  • We also have a meeting/demo set up with her tomorrow morning at my desk.
  • Contacted my old badge sponsor to try and transfer my badge
  • Charting stuff…

Working on the Config Screen.  Here are my current list of config screens and options:

General

  • Legend On/Off
  • Legend Position
  • Base at Zero = true|false

Series: Each chartable field will have enabled and type selector, changing types will change the options available.  Types:

  • AreaSeries – Stackable
    • yField
    • Fill Color
    • Fill Alpha
    • Form = segment|curve|horizontal|reverseStep|step|vertical
    • strokeEnable = true|false
    • Stroke Color
    • Stroke Width
  • BubbleSeries
    • yField
    • radiusField
    • minRadius=0
    • maxRadius=50
    • Fill Color
    • Fill Alpha
    • strokeEnable = true|false
    • Stroke Color
    • Stroke Width
  • CandlestickSeries
    • openField
    • closeField
    • highField
    • lowField
    • Fill Color
    • Fill Alpha
  • ColumnSeries – Stackable
    • yField
    • Fill Color
    • Fill Alpha
  • HLOCSeries
    • openField
    • closeField
    • highField
    • lowField
    • Fill Color
    • Fill Alpha
  • LineSeries
    • yField
    • Form = “segment|curve|horizontal|reverseStep|step|vertical”
    • Stroke Color
    • Stroke Width
  • PlotSeries
    • yField
    • Fill Color
    • Fill Alpha
    • Stroke Color

Sets: AreaSeries and ColumnSeries will both be members of sets with the following options:

  • AreaSet
    • series = []
    • type = “100%|clustered|overlaid|stacked”
    • allowNegative= true|false
  • ColumnSet
    • series = []
    • type = “100%|clustered|overlaid|stacked”
    • allowNegative= true|false

That’s all the options I can think of for now, always room for more.

Tom DeVito 5.23.2012

Start: 5:30

  • Due to the tediousness of how I was testing the sounds and not being to sure which sounds were wanted, I put together a way to test sounds easier.  I cut the headphones port off of some broken headphones I have so I can hook the speaker to my computer to test the sounds using a keyboard software on my computer.
  • I found that the poor sound quality is a problem with the hardware.  I am not sure how I had clean sounds at one time but I will have to examine what I am doing to see if I can fix the problem.  Sadly that test was done way before I started taking pictures.
  • The connection works so I can demo various sounds and pitch much more easily than before so we can determine what works best.
  • Looking at entries made in October of last year the problem seemed to be with midi shields.  The ground is not connected to a pin directly  as most shields would.  Maybe this ground can be attached in a different way.
  • Did a test with the extra boards I have, apparently the boards have more then 2 layers of traces.  All the ground ports work as ground and the one I am using is for the negative of the signal which may not be filtered properly like the others.  Plugging a headphone into this proved this theory.  When I touch the ground to the negative of the speaker it buzzes but when I touch it to the other ground ports it does not.
  • Sound quality issue has been resolved.  I tested it using my test_sensor sketch and it seems all fingers work fine.  Vibration quality is much better volume might be a bit lower or maybe its just the low notes used in the test.
  • Correction sound quality is mostly resolved.  Still need the improvements to resonance discussed in the previous entry.
  • The case came in looks really cool
  • Need to add rubber to where the metal touches the wood.  It might be best to get rid of the metal entirely.
  • There is plenty of room to add a wooden plank where the drive bay would be to have a hollowed out section
  • Power supply works as expected.  The fan is nice and quiet.  On the molex connector, red is the 5 volt line and yellow is the 12 volt line.
  • I don’t think the reset method of the midi is working properly.  Perhaps the delay needs to be longer.
  • Seems there are a few other issues that need to be worked out.  I am not certain why the fingers match u in my sketch but don’t seem to in this one.  I will have to examine the sketch a bit closer tomorrow and compare it to mine.  I will also make sure that mine is actually working.

End: 2:00

Tom DeVito 5.22.2012

Start: 10:00

  • Problems with sound quality cannot be resolved on the current design.  When I had one finger attached firmly to my desk it sounded perfect as if it was coming from a regular speaker.  The current design has way to much rigid area to resonate anything but the highest frequencies well.  This makes the high pitch sound of the white noise much more apparent.
  • Thoughts on new design:
  1. Make individual fingers and attach them directly to the wood box
  2. The connection must be very firm and insulated by some type of hard rubber
  3. I think some type of C clamp is optimal as very little energy is lost from the screw holes but if screws are needed they should be thick and the hole should also be insulated with rubber.  Large washers are needed to ensure the maximum amount of area is in contact with the wood.
  4. If there is room and the top of the box comes off easily enough, a hollow section could be added for further resonance.
  • Movement sounds:  I think for movement the goblin sounds are good.  They provide a very airy sound that does not create a lot of vibration.  Soundtrack may also be good for the same reasons.  Muted trumpet has a kinda robotic sound to it on the low end.  Polysynth might also do.
  • Contact sounds: Crystal sounds maybe
  • I came up with a  better way to test sounds quicker.  I should have a better list with more specific number by the time you get in tomorrow.

End: 6:00

Dong Shin 05.22.2012

  • stopped by the Fort, computers were down. Could not get V badge….
  • a bug in VisibilityScripting not returning data fields in correct format for complex SQL queries (Join tables?)
  • fixed COGNOS SQL using CAST function
    • SELECT f.*,
      CAST(
      CASE WHEN SUBSTR(FY_Month, 8, 3) = ‘Oct’ THEN  month_1
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Nov’ THEN  month_2
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Dec’ THEN  month_3
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Jan’ THEN  month_4
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Feb’ THEN  month_5
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Mar’ THEN  month_6
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Apr’ THEN  month_7
      WHEN SUBSTR(FY_Month, 8, 3) = ‘May’ THEN  month_8
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Jun’ THEN  month_9
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Jul’ THEN  month_10
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Aug’ THEN  month_11
      WHEN SUBSTR(FY_Month, 8, 3) = ‘Sep’ THEN  month_12
      ELSE ‘other’
      END AS DECIMAL) AS PM_Actuals
      FROM visibility_dev2.facts_fy12 f, project_portfolio.budget_centers c, project_portfolio.obligations_outlays o
      WHERE c.uid = o.funding_id
      AND f.Program = c.facts_pe
      AND f.BC = c.center_number
      AND f.Approp = c.appropriation
      AND o.year = SUBSTR(FY_Month, 3, 4)
      AND o.year_count = 1
      AND o.type LIKE “PM Actuals%”

Mike 5.22.2012

  • Production backups
  • Imported Dong’s script to merge data sources, it ran but returned zero rows so the data must not be matching up well
  • My sponsor is letting my badge expire next month so I sent Jim from TASC a note about it
  • Working on configurable chart
  • Submitted my proof of concept with toXml and fromXml

Mike 5.21.2012

  • Production backups at site
  • meeting being set up to discuss moving SSPs?
  • Per Jessica R.’s request to show column charts with line trends on them, I’m looking in to making a customizable chart
    • Will allows users to change series types
      • AreaSeries
      • BubbleSeries
      • CandlestickSeries
      • ColumnSeries
      • HLOCSeries
      • LineSeries
      • PlotSeries
    • Will allow users to select series color
    • Will save these settings to dashboards / slideshows
    • Will have some kind of copy / paste functionality to copy settings between multiple similar charts
    • The configuration menu will be accessed through either a button or right-clicking the chart if the button is too obnoxious looking