Category Archives: Phil

Phil 1.4.2011

7:30 – 4:00 VISIBILITY

  • Deployed the new PPM to rave reviews! Well, not really. But no one complained either 🙂
  • Lots of activity on VISIBILITY logs today
  • Had to bounce the fgmdev tomcat server. There was a service available problem.
  • Working on Data xfer
    • Binary data wasn’t getting to the servlet as a parameter. Testing Ascii data using POST. Yep, that works.
    • Found a better example for binary communication: http://www.j-nine.com/pubs/applet2servlet/Applet2Servlet.html
    • Binary is now working. Need to expand it out to a workable library.
    • Added logging to the doGet() method, so you can go to the servlet html and see what it’s doing

Phil 1.3.2011

7:30 – 4:00 VISIBILITY

Phil 12.30.2010

7:30 – 4:00 VISIBILITY

  • Imported Anne’s spreadsheet. One column had paragraph-length descriptions, which wouldn’t fit in the DB. Not sure if this needs to be fixed or not…
  • Working with Christie to see if her mavanized air app will compile and run on my machine. Close – It compiles but the air app does not install properly. Also an issue with getting the assets directory and its contents into the project
  • Got my sandbox applet up and running. Much easier when you know what you’re doing. Next step is to upload and download binary data.

Phil 12.29.2010

7:30 – 4:30 VISIBILITY

  • Meeting with Anne this morning. We were able to pull data (via excel) from the main database into visibility. Not too many steps either. She’s going to work on putting together a good example table or tables that will let us make a particularly nice set of visualizations
  • Dong and I have a meeting with Adam and Christie at 11:00 – 1:00
    • Summary section year one is summing properly but subsequent years are not.
    • Budgets can be for only one year
    • Explicit save for financial data entry. There may need to be some rolling backup (saving to the client?) that the user may restore from if there is a problem.
    • Show the date of the last comment in the add/view comments area
    • Add commas to the invoice number entry fields
    • make login test not case sensitive
    • need to be able to enter negative amounts for the invoices
    • project name disappears from modify project screen occasionally when returning from some other task
    • Bigger invoice list view to include comments
    • Automatically add a comment if a past value has been changed. Something to the effect 12.28.2020 – Phil Feldman changed November 2010 program actuals for line item xyz from $123 to $345
    • Admin capability to add/modify/delete/merge tables produced using “add new”. Default behavior could be to present a list of projects that use the tag, and have the admin fix each manually. There could also be a global replace button.
    • Add a Financial Status page that only lets HQ see and change project info. This panel mostly shows data from the Funding Requests, but also allows the user to change the funding request by editing fields in the table. To do this several fields need to be added to the Funding Request widget:
      • Reference number in FACTS in reimbursable section (possible uniqueness test?)
      • if certified date != null, put funding amount in initiate/comment
      • Add outlay entry to reimbursable and Direct Cite
      • Add contractor name and location to Direct Cite table
      • Column that subtracts outlays from obligations
      • Roles will need year ranges
      • Program Elements and FACTS PE add to budget line item
      • Remaining to distribute – Total budget minus distributions
      • A scan of Trish’s spreadsheet is here

foo

Phil 12.28.2010

7:30 – 5:30 VISIBILITY

  • Meeting with Katie C. went well. I showed her the entire VISIBILITY suite, and she walked though what her group needs. She’s going to get together with her division chief and schedule a demo
  • Trish found a bug(?) with user data, where a phine number with an extension can’t be stored in the DB. Let Dong know about it.
  • Working my way through protocol buffers.
    • I have to say, this is getting complex. So far you need cygwin and the gcc compiler to *build* the protoc.exe compiler. Right now I’m running the config utility that is determining *how* it will make the executable….
    • And now I need make. Getting that. Done (Cygwin is pretty cool sometimes). Running.
    • Failed CommandLineInterfaceTest.WindowsOutputPath test. Seems to be that the checks don’t understand cygwin’s way of referencing the c drive (cd cygdrive/c as opposed to cd C:/). Reading the blogs, this appears to be tolerable. The install seems to work.
  • And before I go and try this, I’m going to look for some simpler binary transfer mechanism. This is OK if you’re Google, but I’d like something that doesn’t add complexity to an already complex concept.
  • Started building a war file for a test servlet project and ran into Christine’s problem. It turns out that when we’re adjusting the pom file after it’s creation but before eclipse:eclipse is run on it, the number for the flex-mojo plugin is coming from the flexVersion variable instead of the flexArchetype variable from the User Settings. Fixed that, and uploaded the new code into subversion.

Phil 12.27.2010

8:00 – 4:00 VISIBILITY

  • I hereby declare that this is the festival of Contractorious. It covers the time between Christmas and New Years at Government facilities
    • Monday – The Festival of Light Traffic: Here we revel in the ability to drive anywhere at any time, at or above the posted speed limit
    • Tuesday – The Celebration of Easy Parking: In which we park close enough to the buildings we work at so we do not freeze to death in our sojourn across the Parking Lots Most Remote
    • Wednesday – No Meeting Day: We would gather to celebrate this, but it might be misinterpreted as a meeting
    • Thursday – The Day of Just Showing Up: We celebrate by just making it in. Observing this by napping at the desk or by leaving early is acceptable.
  • Had some scary flashbacks to text flow containers. Did find a useful article: http://devgirl.wordpress.com/2010/04/26/flex-4-and-the-text-layout-framework/
  • Starting to try some test applications with the DJ_Project
    • SimpleWebBrowserExample – Too cool. Handles flash and everything
    • Walking through the code for this example.
    • Working on the HTML Editor example. I needed to go out and get the zip files for CKeditor, FCKeditor, and TinyMCE editors, and add then to the classpath so that the app could find and launch them. Not sure how it’s doing that yet. I’m gussing that it’s related to the same way that the browser is incorporated. Not sure that it matters for what we’ll be doing, which is more along the lines of raiding eclipse for components and then adding them in in a more direct (i.e. integrated to work with compiler/debugger output). We’ll see.
  • Last thing to check out is a way to communicate between the IDE and the Client. Aaron suggested that Google Protocol Buffers were cool, easy and fast. Looking into them now.

Phil 12.23.2010

8:00 – 4:30 VISIBILITY

  • Spent some more time looking at firefox plugin development.After a long talk with Mike, tentatively decided that it was better to go with the DJ Project approach and build a Java wrapper. Spent the rest of the day finding the CVS repo, reading documentation and pondering.

Phil 12.22.2010

7:30 – 4:30 VISIBILITY

  • Tentatively scheduled my Spider training for Jan 5 at 11:30
  • Looks like you use the NET command to add users, etc using the command line. There are lots of options:
  • Once the user is created, then mkGroup -l > /etc/group and mkPasswd -l > /etc/passwd have to be run to make cygwin aware of the new users. Also, new home directories need to be made. Then the new user can telnet in and everything works fine.
  • Spent a good deal of time looking at making sure that whatever framework we used could support debugging client code. I think the the choice is reall between two options. Either the debugger (and some/all of the dev environment) browser, or the browser runs in the dev environement
    • Running inside the browser means something like Firebug. They have the flashbug plugin, and my guess is that it wouldn’t be too hard to put in additional pieces if we needed too.
    • The other option is to run the browser in the IDE. The DJ Project seems to ba a framework that would support this

Phil 12.21.2010

7:00 – 4:00 VISIBILITY

  • Now that the basics of the process-based interaction work, I’m going to make it a useful member of the program family instead of the unstable CPU hog it currently is.
    • Added sleep(10) to the processing loops and made everything work with buffered inputs and outputs. CPU usage is unnoticeable, and responsiveness feels the same.
    • Added watchers for the three threads so they all shut down when the user types “exit”
    • Can navigate around through the OS, run maven and other cool things 🙂
    • Cleaned up the user input so that it is split from the thread that watches the keyboard and the method that sends the command to the process.

On a side note, went out for a lunchtime ride and averaged 18.2, including the parking lot. A nice, summery pace on a day with a 37 degree high.

Phil 12.20.2010

8:00 – 5:30 VISIBILITY

  • Ingested some new customer data that has trending! Now I can demonstrate that feature 🙂
  • Working on the ExecShell class. It looks like I should be using ProcessBuilder instead. It was introduced in Jva5 and is a bit more sophisticated. Ideally, I need to be able to use the spawned process (shell?) to run multiple commands, while keeping track of the current directory. Going to try to run the “cmd /k” option, then interact through the processes input, output and error streams.
  • Moderate flailing on the above. Made some progress. Found the following to try tomorrow:

Phil 12.17.2010

8:00 – 4:30VISIBILITY

  • Meeting with the new TD of S2F, who’s name I can’t recall. It went well. He want’s a diagram of the tables in PPM to figure out what he can do with them. He also liked the idea of being able to use the scripting engine to read and write RESTfully to a Sharepoint DB. Something that he’d like developed is PKI-enabled opening of a dashboard or slide show in VISIBILITY. More as this progresses.
  • Spent the morning getting a printout of the structure of PPM.
  • More work on the Telnet client/OS interface framework

Phil 12.16.2010

7:30 – 9:30VISIBILITY

  • Meeting with S33P folks Thursday the 23rd at 11:00
  • Brought in my other old windows box to Linuxify

9:30 – 12:30 FP

  • Finishing paper
  • Ordered an audio oscillator and small amplifier kit. I had the thought last night that sound plus vibration could either augment the kinetic interaction, or possibly replace it. If that’s true, then it’s possible that we might be able to get by with simple force sensitive resistors, which would be pretty cool…

12:30 – 5:30 VISIBILITY

  • Working on commons-net telnet sandbox application
  • Hmmm. MavenAssist isn’t creating eclipse-compatible jars. Looking into that.
  • Success!!!  To get the listing below, the program started telnet, logged in to 127.0.0.1, and sent the command ‘ls -la’ to the Cygwin intetd:
  • drwxr-xr-x+ 1 phil.feldman ????????       4096 2010-12-15 13:52 .
    drwxrwxrwt+ 1 phil.feldman Administrators    0 2010-12-15 13:26 ..
    -rw-------  1 phil.feldman Administrators  328 2010-12-16 17:02 .bash_history
    -rwxr-xr-x  1 phil.feldman ????????       1150

Phil 12.15.2010

8:00 – 4:00 VISIBILITY

  • Looks like the PPM new features meeting will be here Tuesday or Wednesday of next week at 11:00
  • PPM DB still growing and being used. After importing the data for Masha, no activity. Hmmm.
  • Let’s see if I can get the Cygwin telnet functioning…
    • Yes, after flailing until 2:00. In the end, I deleted the current install and pulled the version from the gatech ftp mirror. I think that the version at vatech may be corrupted.
  • Starting with the java user/telnet manager. I think it will need to do the following:
    • Create/Delete users. Note that this will have to be OS-specific.  In addition, in the case of cygwin on Windows, the user account will have to be added within cygwin as well by running mkpasswd as admin before the user can be logged in through telnet
    • Open a telnet channel on 127.0.0.1. Commands and responses go through this channel. For example “javac foo.java” is the command and error messages from the compiler are the responses.
    • Copy files from the client to the appropriate directory on the server (and with the correct permissions). This may require a pwd command to be run to determine where the user is. Or we do this all graphically (preferred), and keep track on the client
  • Spent some time pondering how apps might deploy using dynamically created virtual servers. Looks surprisingly straightforward?

Phil 12.14.2010

7:30 – 3:30 VISIBILITY

  • For the record, I’d like to state that it is too damn cold.
  • Fixed Masha’s data
  • Had a conversation with Christine about PPM. It looks like they are going to need a new section to track “real-time” inflows and outflows of cash from projects. Head’s up, Dong! Working on scheduling a meeting to go over things in detail.
  • Adding the Cygwin Telnet/Ftp server to my machine. So far, here are the steps (from http://www.wiley.com/legacy/compbooks/nilsson/InetdunderWindows2000.doc):
    1. Run “mkpasswd -l > /etc/passwd” at the Cygwin prompt.  This creates the passwd file which is similar in format and function to the Linux passwd file.  Run mkpasswd with no parameters for a usage summary.  You might need to add a -d parameter to grant domain users access.
    2. Edit /etc/passwd and delete everything but the accounts you want to have access permissions.  (In most cases, you’ll end up with only two lines in this file — your account and Administrator.)
    3. Make sure that your home directory (ie, c:cygwinhomephil.feldman) exists.
    4. Right-click “My Computer” and select Properties.  Click the “Environment Variables” button on the “Advanced” tab.  Add a new system variable…the name is CYGWIN and the value is “ntsec” (no quotes).  This tells Cygwin to use your Windows 2000 security.
    5. Add C:CygwinBin to the PATH system variable.  (Stick it at the end, separated from everything else with a semicolon (“;”)).
    6. Run “/usr/sbin/xinetd.exe –install-as-service”.
    7. Reboot!
    8. Well, that didn’t work. Started up the Windows Telnet server for now.  That’s just a matter of turning on the service.
  • Looking at the apache.commons-net package as my telnet interface

Phil 12.13.2010

8:00 – 4:00 VISIBILITY

  • Spent some time with Brian on site this morning working out the details of what our server needs
  • Looking at ways to deal with interacting with the shell as a way of dealing with the server. Developers write code as text files that are compiled using whatever tools we integrate. Files are saved as files with some kind of namespacing. The key to all this is to have some kind of workable interface to the OS that is essentially a terminal window. From there we load commands, parse results, use command-line debuggers, etc.
  • Found a java telnet server that handles all the issues of sending commands to the OS and getting responses (and errors) back. It’s built around the same Runtime.getRuntime.exec() command that we are using in MavenAssist, just a lot more complete. It’s here: https://sourceforge.net/projects/pwts/. In addition to building a remote object around it, we should refit the version in MavinAssist.
  • Talked to Anne about Masha’s data woes. Promised to take a look at it tomorrow