How to make program eat less memory/enhance performance ?

Dear experts,
I have a program that creates 3 tables containing series of line vectors. These are created from data contained in an ascii file. The program performs some calculations on the data. I have everything working perfectly i.e. it creates the tables, does the calculations and gives me the final results which I need (but this only happens when I use a data file that is 88Kb in size).
However, the frustrating problem I am experiencing currently is that when I use a heavier file e.g size 4.22mb, after a short delay, Windows starts complaining about memory errors and Windows task manager's Mem usage goes through the roof!
Eventually, I get an Exception in thread ?main? java.lang.OutOfMemoryError <<no stack trace available>> error from the JVM.
I have tried "java -Xrunhprof" command and it suggests that the real memory hogging line of code is:
name = ((String) v.elementAt(nj))+"\t"+((String) reference_vec.elementAt(nj));As the program is dynamically allocating and creating a full nxn matrix of the input data lines at run-time that means it is creating zillions of strings at that line? Concatenation of Strings is not a good idea either as this blows performance too. I am thinking of re-writing the program in C. I have run out of ideas. Please can you suggest how I can make some tweaks to the java code so that the program runs more efficiently? Any comments welcome. Program is approx 500 LOC, can post on request.
d.

import java.io.*;
import java.util.*;
          Mobile ID Classification Program - 2003
          Currently known memory bugs -
          15/10/03      -          JVM reports OutOfMemoryError when gsm_data.txt used as input
public class DataAnalysis {
/* Data structures used to store values **/
               private Hashtable Activity = null;
               private Vector table1 = null;
               private Vector table2 = null;
               private Vector table3 = null;
               private BufferedReader fin;
               private StringTokenizer st;
     Mobile activity description strings       
     private final String A1 = "IMSI attach";
     private final String A2 = "IMSI detach";
     private final String A3 = "Periodic location update";
     private final String A4 = "Normal location update+authentication";
     private final String A5 = "Service request mobile call";
     private final String A6 = "Service request SMS";
     private final String A7 = "Service request supplementary service activation";
     private final String A8 = "paging response";
     //           private final String A8a = "Paging response+authentication";
     private final String A9 = "Service request energy";
/*     main function where the program begins execution **/
     public static void main(String args[]) {
               if(args.length == 0) {
                         System.out.println("File name not specified. Usage : java -Xmx500mb DataAnalysis <file name> ");
          else if(args.length > 1) {
                         System.out.println("Too many parameters. Usage : java -Xmx500mb DataAnalysis <file name> ");
          else {
                              new DataAnalysis(args[0]);
/*          Constructor. Takes input file name string as parameter      **/
     public DataAnalysis(String data_file_name) {
               Activity = new Hashtable();
                                        table1 = new Vector();
                                        table2 = new Vector();
                                        table3 = new Vector();
     //                Parse the input file. Read in lines.
          try{
               fin= new BufferedReader(new FileReader(data_file_name));
               String line;
               while((line = fin.readLine()) != null) {
                    if (line.trim().length() > 0) {
                         tokenize(line);
          catch(Exception e) {
                              System.out.println(e.getMessage());
          finally {
               try {
                              fin.close();                    //       Close the file input stream then 
               catch(Exception ee) {
               //           Create the first two tables
                                                       createTable1();
                                                       createTable2();
          //                     Free the memory occupied by table 1
          //                    freeTable(table1);
                    table1 = null;
                                                       createTable3();
                         //                Free the memory occupied by table 2          
                         //                freeTable(table2);
               table2 = null;
          //                Select all the mobile ids in gsm_data.txt which have a city block distance value less than 0.25 threshold (upper limit)
          System.out.println("--------------------------Table 3 : Relationship between mobile ids using Manhattan City Block distance -------------------------- \n" );
          for(int ni =0;ni<table3.size();ni++) {
               Vector inner_vec = (Vector) table3.elementAt(ni);
               for(int nj = 0;nj<(inner_vec.size()-1);nj= nj+2) {
                         float val = ((Float) inner_vec.elementAt(nj)).floatValue();
                         if(val <= 0.25 && val > 0.0)  {                              
                                        System.out.println((String) inner_vec.elementAt(nj+1));
/*      Returns the index from table 1  **/
     public int getIndexFromTable1(String id) {
          int index = -1;
          for(int ni = 0;ni<table1.size();ni++) {
               Vector v = (Vector) table1.elementAt(ni);
               String vect_id = (String) v.elementAt(0);
               if(vect_id.equalsIgnoreCase(id)) {
                         index = ni;
                         return index;
                    Create table with actual frequency of mobile activity for each mobile id.   
                    Number of times an activity occurred in the input file.          
     public void createTable1() {
                    Enumeration e = Activity.keys();
                    int sum;
          while(e.hasMoreElements()) {
                    Vector table1_row = null;
                    String s = (String) e.nextElement();
                    Integer num = (Integer) Activity.get(s);
                    StringTokenizer st1 = new StringTokenizer(s, "|");
                    String mobile_id = (String) st1.nextToken();
                    String mobile_act = (String) st1.nextToken();
                    int row_index = getIndexFromTable1(mobile_id);
               if(row_index > 0) {
                              table1_row = (Vector) table1.elementAt(row_index);
                              sum = ((Integer) table1_row.lastElement()).intValue();
               else {
                                   table1_row = new Vector();
                                   sum = 0;                    
               if(table1_row.contains(mobile_id)) {
                    if(mobile_act.equalsIgnoreCase(A1)) {                              //                IMSI attach activity
                              table1_row.setElementAt(num, 1);
                              sum += num.intValue();
                    else if(mobile_act.equalsIgnoreCase(A2)) {                    //                IMSI detach activity
                              table1_row.setElementAt(num, 2);
                              sum += num.intValue();
                    else if(mobile_act.equalsIgnoreCase(A3)) {                    //                Periodic location update activity
                              table1_row.setElementAt(num, 3);
                              sum += num.intValue();
                    else if(mobile_act.equalsIgnoreCase(A4)) {                    //            Normal location update+authentication activity
                              table1_row.setElementAt(num, 4);
                              sum += num.intValue();
                    else if(mobile_act.equalsIgnoreCase(A5)) {                    //            Service request mobile call activity
                              table1_row.setElementAt(num, 5);
                              sum += num.intValue();
                    else if(mobile_act.equalsIgnoreCase(A6)) {                    //                Service request SMS activity
                              table1_row.setElementAt(num, 6);
                              sum += num.intValue();
                    else if(mobile_act.equalsIgnoreCase(A7)) {                    //                Service request supplementary service activation activity
                              table1_row.setElementAt(num, 7);
                              sum += num.intValue();
                    else if(mobile_act.equalsIgnoreCase(A8)) {               //                     Paging response activity                         
                              table1_row.setElementAt(num, 8);
                              sum += num.intValue();
                    else if(mobile_act.equalsIgnoreCase(A9)) {               //                    Service request energy activity          
                              table1_row.setElementAt(num, 9);
                              sum += num.intValue();
                              int lastIndex = table1_row.lastIndexOf(table1_row.lastElement());               //       This is the last index which this table
                              table1_row.setElementAt(new Integer(sum), lastIndex);
               else {
                    table1_row.addElement(mobile_id);
                    if(mobile_act.equalsIgnoreCase(A1)) {
                         table1_row.addElement(num);
                         sum += num.intValue();
                    else {
                         table1_row.addElement(new Integer("0"));
                    if(mobile_act.equalsIgnoreCase(A2)) {
                         table1_row.addElement(num);
                         sum += num.intValue();
                    else {
                         table1_row.addElement(new Integer("0"));
                    if(mobile_act.equalsIgnoreCase(A3)) {
                         table1_row.addElement(num);
                         sum += num.intValue();
                    else {
                         table1_row.addElement(new Integer("0"));
                    if(mobile_act.equalsIgnoreCase(A4)) {
                         table1_row.addElement(num);
                         sum += num.intValue();
                    else {
                         table1_row.addElement(new Integer("0"));
                    if(mobile_act.equalsIgnoreCase(A5)) {
                         table1_row.addElement(num);
                         sum += num.intValue();
                    else {
                         table1_row.addElement(new Integer("0"));
                    if(mobile_act.equalsIgnoreCase(A6)) {
                         table1_row.addElement(num);
                         sum += num.intValue();
                    else {
                         table1_row.addElement(new Integer("0"));
                    if(mobile_act.equalsIgnoreCase(A7)) {
                         table1_row.addElement(num);
                         sum += num.intValue();
                    else {
                              table1_row.addElement(new Integer("0"));
                    if(mobile_act.equalsIgnoreCase(A8)) {
                         table1_row.addElement(num);
                         sum += num.intValue();
                    else {
                         table1_row.addElement(new Integer("0"));
                    if(mobile_act.equalsIgnoreCase(A9)) {
                         table1_row.addElement(num);
                         sum += num.intValue();
                    else {
                                   table1_row.addElement(new Integer("0"));
                                   table1_row.addElement(new Integer(sum));
               if(row_index > 0){
                    //          Replace the vector in table1 with updated vector
                                        table1.remove(row_index);
                                        table1.insertElementAt(table1_row, row_index);
               else {
                                   //                 Add the row vector to the table vector as a row.
                                                       table1.addElement(table1_row);
               tableToString(table1, "--------------------------Table 1: Number of times activity occurred in input txt file -------------------------- " );
                    Create table 2 by normalising the data values from table 1 
     public void createTable2() {
          for(int ni = 0;ni<table1.size();ni++) {
                    int sum;
                    String name = "";
                                        Vector table2_row = new Vector();
                                        Vector table1_row = (Vector) table1.elementAt(ni);
               //            For each record of table 1
               for(int nj = 0;nj<table1_row.size();nj++) {
                    sum = ((Integer) table1_row.lastElement()).intValue();
                    //               Name of the activity
                    if(nj == 0) {
                                   name = (String) table1_row.elementAt(nj);
                                   table2_row.addElement(table1_row.elementAt(nj));
                    else if (nj == (table1_row.size() - 1)) {
                              //                Don't do any thing, we dont want the sum of activities in table 2 !
                    else {
                         Integer num = (Integer) table1_row.elementAt(nj);
                         int num_val = num.intValue();
                         if(num_val == 0) {
                                        table2_row.addElement(new Float("0.0"));
                         else {
                              if(sum > 0.0) {
                                        table2_row.addElement(new Float((float)num_val/sum));
                              else {
                                        table2_row.addElement(new Float("0.0"));
                    table2.addElement(table2_row);
                                        tableToString(table2, "--------------------------Table 2: Table 1's Normalised Values --------------------------");
          Create table 3 by comparing the relationship between vectors of table 2 using
          the Manhattan City Block distance.
     public void createTable3() {
               Vector reference_vec = null;
          for(int ni = 0;ni<table2.size();ni++) {
                              reference_vec = (Vector)table2.elementAt(ni);
                              createTable3Record(reference_vec);
/*       public void createTable3Record(Vector reference_vec) {
          //       Vector table3_record = new Vector();
          Table3Record table3_record = new Table3Record();
          for(int ni = 0;ni<table2.size();ni++) {
               float sum = 0;
               //           String name = "";
               Vector v = (Vector) table2.elementAt(ni);        //           each record of table2
               for(int nj = 0;nj<v.size();nj++) {                    //           for each element of a record of table 2. Iterate through table 2.
                    if (nj == 0) {
                         //           name = ((String) v.elementAt(nj))+"\t"+((String) reference_vec.elementAt(nj));
                                        table3_record.name_prefix = (String) v.elementAt(nj);
                                        table3_record.name_suffix = (String) reference_vec.elementAt(nj);
                                             //       table3_record.value = sum;                         
                    else {
                                             float f1 = ((Float) v.elementAt(nj)).floatValue();
                                             float f2 = ((Float) reference_vec.elementAt(nj)).floatValue();
                              sum += Math.abs(f1-f2);
                              table3_record.value = sum;
                                   //               table3_record.addElement(new Float(table3_record.value));                    //                Value
                                   //             table3_record.addElement(table3_record.name);                                             //                Vector Names for that value
                                                  table3.addElement(table3_record);
                                   //                table3_record = null;                         
               OLD CODE BUT AT LEAST IT WORKS !!  //    Creates a record for the third table            //  OLD CODE BUT IT WORKS
     public void createTable3Record(Vector reference_vec) {
                    Vector table3_record = new Vector();
          for(int ni = 0;ni<table2.size();ni++) {
                    float sum = 0;
                    String name = "";
                    Vector v = (Vector) table2.elementAt(ni);             //           each record of table2
               for(int nj = 0;nj<v.size();nj++) {                    //           for each element of a record of table 2. Iterate through table 2.
                         if (nj == 0) {
                          name = ((String) v.elementAt(nj))+"\t"+((String) reference_vec.elementAt(nj));               /**  MEMORY BUG  ?   */
                              //name = new StringBuffer().append((String) v.elementAt(nj)).append("\t").append((String) reference_vec.elementAt(nj)).toString();               
                    else {
                                        float f1 = ((Float) v.elementAt(nj)).floatValue();
                                        float f2 = ((Float) reference_vec.elementAt(nj)).floatValue();
                                        sum += Math.abs(f1-f2);                              //            Calculate the sum
                                        table3_record.addElement(new Float(sum));                    //           Value
                                        table3_record.addElement(name);                                             //           Vector Names for that value
                                        table3.addElement(table3_record);
                                        table3_record = null;
               Method which breaks the contents of the file which is read into memory for processing 
     public void tokenize(String s) {
                              st = new StringTokenizer(s, "\t");
                              String id = "";
                              //       String time = "";
                              String activity = "";
          if(st.hasMoreTokens()) {
                                        st.nextToken();                                                            //                      Date e.g. 13052003
                                        //           time = st.nextToken();                                                            //            Time          e.g. 11:30:18
                                        st.nextToken();
                                        st.nextToken();                                                            //                      Frame Number e.g. 166827                              
                                        id = st.nextToken().trim();                                   //                          ID e.g. f47c12cffb or 2943012109009630
                                        st.nextToken();                                                            //                          Classmark  e.g 33
                                        st.nextToken();                                                            //                          Float e.g. 2.2  (the distance from base station)
                                        activity = st.nextToken().trim();                    //                      Activity e.g IMSI attach
               String key = id+"|"+activity;
                                        key = key.intern();               
               if (Activity.containsKey(key)) {
                                   Integer num = (Integer) Activity.get(key);
                                   int num_val = num.intValue();
                                   num_val += 1;
                                   num = new Integer(num_val);
                                   Activity.put(key, num);
               else {
                         Activity.put(key, new Integer(1));               //  Insert key into our Hashtable
               Frees the memory used by a table 
     public void freeTable(Vector table) {
                    for (int ni = 0;ni<table.size();ni++) {
                                        Vector inner = (Vector) table.elementAt(ni);
                                        inner = null;
                                        table = null;
               Convert a vector to a string suitable for displaying on console output               
     public void tableToString(Vector table, String table_name){
               System.out.println(table_name + "\n");
                              for (Iterator it = table.iterator(); it.hasNext();) {                                                              
                                             System.out.println(it.next());
               Function which sepearates mobile id usage beween day/night usage.     
     public void calculateTimeInterval(String t1, String t2){
                         //           t' = t1 - t2          
                         //           Look at all the ids
          Date d1,d2;
                         d1 = new Date(t1);
                         d2 = new Date(t2);
                         // TBD
}

Similar Messages

  • How to make programs available to all users

    How to make programs available to all users

    By default, all Applications are installed in /Applications. Those are available to all users. If you choose to install in your home Applications folder, they are only available to that user.
    You can also control app usage with Parental Controls. If that is on, that my be why some cannot use certain apps.

  • How to make stills duration less than 00:00:00:01 ?

    Hi,
    This may seem an odd request, but I have a sequence of several stills of a propeller blade on a model, sort of time lapse, move and photo etc, which when played together rotates the prop. They are currently set to 00:00:00:01 and play loop sees a very slow rotation. I thus need to make them even less than that duration. Is that possible and how is it done ? They currently form the project. R/click duration and altering 01 to 001 doesnt work, the last two numbers being frame number and 25fps is the project value.
    Perhaps I need to make the project more than 25fps, so that 00:00:00:01 which means 1 frame I presume, will be seen as far less of a second than 1/25th ? How do I set project to a higher fps if this is the solution ?   Then would I save out or export the finished film as a 25fps clip to use elsewhere ?
    I also found it silly that I had to right click on each stills clip in timelie and choose duration. I tried selecting all of them and r/click duration but duration was greyed out. If I had a lot there, surely there must be a way of making all their durations the same amount at once ?
    I am unable to zoom the timeline to drag their size less.
    Envirographics

    Hi,
    Thanks for the sugestions.
    I have not yet transferred a Sequence, I have created a second sequence and dragged it out as a floating window, then dragged a selection box across my stills and dragged them over to it, but no doubt this isnt the way to make them all a combined duration of say 1 frame. They still have separate properties. How is it done such that I can give them as you say one duration for the entire lot.
    AE no doubt is After Effects. another purchase. Working on it !
    Envirographics.

  • How to make "Read Report" pick up enhancement code as well

    I want to enhance a SAP ECC6 program - H99CWTR0 (Wage type reporter). I need to add some more master data objects from other HR tables.
    I have succesfully applied implicit enhancements to this program to allow my users to select extra data objects and to retrieve the relevant data from the database. However, the program reads a subroutine pool called H99CWTR0_ALV_TEMPLATE and makes dynamic run time changes and generates a temporary subroutine pool. I have also had to apply implicit enhancements to the template but this is not read by H99CWTR0. So I am unable to to keep the shared data segment in line with the driver program H99CWTR0 which leads to an ABAP dump.
    I would prefer to make all changes to SAP programs using the enhancement framework rather than having to clone SAP programs into the "Z" namespace.
    Is there a way of making the "Read report" pick up the implicit enhancement code as well as all the other includes in the template?

    Hi Prabhu
    The dump text said -
    "The length of COMMON PART "DRIVER_DATA_EXCHANGE" in program "%_T0DYT0" is different from the corresponding area in the calling program "H99CWTR0".
    Length of the COMMON PART in program %_T0DYT0: 1224 bytes
    Length of the COMMON PART in program H99CWTR0: 1232 bytes
    There is probably an error in the program "H99CWTR0"."
    My enhancement to H99CWTR0 is being accessed, but the equivalent enhancement to H99CWTR0_ALV_TEMPLATE is not. Hence the discrepancy in the length of common shared data segment.
    The ABAP line "read report iv_template into lt_code." in include H99CWTR0_FORMS is not reading the implicit ehancement code I added. So when the ABAP line "generate subroutine pool lt_code name ov_driver message mm line ll" is called to generate the temporary subroutine code my code is lost.
    Regards
    Phil Smith

  • Satellite L300: How to make the screen less blue?

    Hi,
    Is it possible to make the screen less blue, not fully color managed, just a little warmer. TIA.

    Hey Zeb,
    Why you want to change the color management? Are not satisfied with the colors on your L300 screen? I have this notebook too and Im very satisfied with the color management. For me its all ok and I dont change anything on it.
    Anyway, you can change the colors in graphics driver menu. On Intel cards for example:
    Display properties > Settings > Advanced > Intel Graphics > Graphic Properties > Color Correction
    Greets

  • How to make iMac run less hot when in Bootcamp?

    When I play a game in win7 trough bootcamp, my iMac gets real hot.
    How to make it run cooler?
    It sounds like fans could be running faster; but I want it to do it automaticly.

    Download Lubbo Fancontrol for MacBook Pro to help with the fans.
    Lubbo FanControl for MacBook Prohttp://sourceforge.net/projects/lubbofancontrol/
    Also these
    AIDA64 Extreme Editionhttp://www.aida64.com
    http://www.aida64.com/product/aida64-extreme-edition/overview
    CCleaner
    http://www.piriform.com/ccleaner

  • How do make the colours less warm?

    I shoot under yellow lights. Then the colours in the video is very warm. Too gold and orange.
    How do you make it less warm?

    Hi(Bonjour)!
    Use the color corrector to adjust the orange tone and correct the white point
    See user's manual at page 827 and ss.
    Michel Boissonneault

  • How to make a view created using enhancement framework as Interface View

    Dear Experts.
    I Created A  new View and window  by using Enhancement Framework for a standard webdynpro comp. Now i want to use the same window as a  UIBB in FPM , since in window properties interface view check box is unchecked it's not allowing me to use a UIBB in FPM.
    Kindly answer for the following.
    1) Is there any way to make a view a interface ( whcih is by default in nature but while creating from Enhancement framework behaivng Strangly).
    2) If there is no way then how to use enhanced (additional View Created  in Standard WDA comp) further like in FPM ( UIBB ).
    thanks in Advance.
    Best Regards,
    Kranthikumar Palle

    >
    kranthi9121 wrote:
    > Dear Experts.
    >
    > I Created A  new View and window  by using Enhancement Framework for a standard webdynpro comp. Now i want to use the same window as a  UIBB in FPM , since in window properties interface view check box is unchecked it's not allowing me to use a UIBB in FPM.
    >
    > Kindly answer for the following.
    >
    > 1) Is there any way to make a view a interface ( whcih is by default in nature but while creating from Enhancement framework behaivng Strangly).
    >
    > 2) If there is no way then how to use enhanced (additional View Created  in Standard WDA comp) further like in FPM ( UIBB ).
    >
    >
    > thanks in Advance.
    >
    > Best Regards,
    > Kranthikumar Palle
    Hi,
    Please see [https://cw.sdn.sap.com/cw/docs/DOC-21546|https://cw.sdn.sap.com/cw/docs/DOC-21546]
    windows created through enhancement are local to component and hence they are not visible outside.
    You need to find other way to provide your interface view to UIBB.

  • How to make program faster and high efficiency?

    Dear consultant:
    Our ABAP reports seem to be very low efficiency.  Users should waste a lot of time to wait.
    How can I do some improvement.
    Here is an example:
    Hope anyone of you kindly give some advice on how to improve it. thanks in advance.
    pls look at the program below:
    [http://blog.csdn.net/elin_yi/archive/2009/07/21/4366236.aspx]

    thanks.
    but our test system's SE30 shows the following error:
    CONVT_NO_NUMBER
    Runtime errors         CONVT_NO_NUMBER
           出现在          2009-07-22 在   09:38:22
    Unable to interpret "? as a number.
    发生了什么?
    Error in ABAP application program.
    The current ABAP program "SAPMS38T " had to be terminated becaus
    statements could not be executed.
    This is probably due to an error in the ABAP program.
    你能做什么?
    Print out the error message (using the "Print" function)
    and make a note of the actions and input that caused the
    error.
    To resolve the problem, contact your SAP system administrator.
    You can use transaction ST22 (ABAP Dump Analysis) to view and ad
    termination messages, especially those beyond their normal dele

  • Any ideas on how to make program simpler?

    This program is designed to send multiple TTL pulses to different instruments, while at the same time receiving and analyzing analog input data.  We will likely be sampling at fairly low rates (rarely over 100 Hz).  We will be getting a new USB board soon, but this program is written for the USB-6008.  The program is over 9 MB, and I would like to know if there is anything I can do to make it more manageable.  I have already gotten a lot of help from this forum and really appreciate it (haven't done much computer programming before this summer) and those of you in cyberspace have saved me a lot of headaches.  Thanks in advance for the help!
    Attachments:
    Linear 3ch Wave Gage and pressure Data Capture.zip ‏162 KB

    Hello again
    Thanks lynn for the advice, I am sorry for the delay since my last post.
    I am pretty comftorable with the programming of labview, but not the applications of DAQmx and data flow overall for that matter.  I have been searching the forums all morning trying to find some examples of what I wish to do, but have been unsuccessful.  What I am working on is creating a program that controls all of the instruments in the lab, in other words, send triggers to different instruments at different times to turn them on and off. 
    I now see that the wait VI that I put in the TTL subVI was a poor choice and am still trying to find a way around it. 
    I want to set up some kind of a clock that starts when the VI is run.  From this, I want to allow the user to set up a delay for each TTL, so the wavemaker might be triggered immediatly, but the individual instruments could be triggered after some time interval.  The On/Off booleans are present because we do not use all the instruments at all times, so if say the laser is off, LabView would not send the TTL to laser's computer.  I would also like to incorporate the data acquisition to the clock, say to let the wavemaker run for 5 minutes before data is acquired, however that part won't be too hard once I figure the timing out. 
    An example of what might need to be done could be
    1.  VI is started
    2.  Wavemaker is triggered immediatly
    3.  Data acquisition is started after 5 minutes, and acquires 10,000 samples at 100 Hz
    4.  Laser and ADV are triggered simultaneously after 6 minutes
    5.  After voltages are acquired, they data are analyzed (plugged into a calibration curve to get pressure or wave height...)
    6.  The final values are written to a spreadsheet.
    I am thinking that using a tick counter and event structures might work, but I havent been able to figure it out yet.
    Thanks
    Chris

  • How to make one area less transparent?

    I have an object set to 60% opacity.  I have a text box layered on top of that with white text.  I would the object to be LESS transparent (90%opacity) where it lies under the text box. How can I do this?  thank you.

    Like Peter says, you can duplicate the object, reduce or adjust the shape to sit where you want it less transparent, set it to 30% opacity and maybe add a basic feather so there isn't a hard edge. Or you could try using a  gradient feather within the object and adjust the sliders to suit, but this might be less precise.

  • Any idea how to make "playsound" command less verbose (no output) ???

    playsound always has output to the terminal when executing... how can i eliminate that???

    Googling for a start http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html
    Please don't be a help vampire - do some research yourself before asking people here to do everything for you...
    Closing

  • How to make  program control switch between 2 computers

    Hi all,
    I Am a student, I have a question.
    I want to write a networking program which should run on 2 computers by switching once for every 5 seconds. That is, the program should run on a computer for 5 seconds and the same control should be executed on some other computer. The program(which keeps switching between the 2 computers ) keeps sending and receiving some information to the 3rd computer all the time using UDP.
    Can some one help me the steps or idea in coding this program .
    Thank you,
    Ravi

    You should take a look at http://www.greenteatech.com/, particularly the GT Native Execution Tool

  • How to make Interface node in an Enhancement Implementation

    I am adding my own context node in the component controller inside an enhancement implementation.  It does not allow me to choose that it is an "Interface Node".  The check box is greyed out. Please help.

    I dont think it allows you to select interface node even if it is your own context node using enhancement implementation.
    i checked in my system and result is same
    Thanks
    Bala Duvvuri

  • How To make program to use rtf template to show excel output

    Hi
    I have created template in rtf and have created data definations and registerd template on application R12
    Now when i run report using submit process
    it didn't show the template in layout field when we are submitting report request
    tell me about this?
    Thanks

    Pl post exact versions of EBS, OS and database. Have you followed all of the steps in this tutorial - http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/bi/xmlp_ebiz/index.html ?
    If you did, the template should show up when you submit the concurrent request. If there are missed steps, you will not see the template show up at the time of submitting the request.
    HTH
    Srini

Maybe you are looking for

  • Safari does not play media

    When i go to a site that needs real player or Windows media to play safari sends me a message saying that i need a media player to watch video. I have the media players and it worked perfectly 2 days ago and the whole morning before it decided to fla

  • Need to change CSR key size from 1024 to 2048

    Hello SAP experts, I am encountering an error when generating new certificates: · Invalid Key Size Current Key Size: 1024 The key size in the provided CSR is not valid. The key size must be at least 2048. Please attempt the request again. If the prob

  • Could not save as "8.jpg" because write access was not granted.

    I cannot save images with my new photoshop cc. How do I get rid of this error message?

  • FI Enhancement...

    Hi Gurus, Please give me an example of any enhancement to any of the FI DataSources. I will appreciate if you can give example in both these situations: 1. When the field to be appended from the same tables as the DataSource. 2. When the field to be

  • Line fixed - BB still very slow indeed

    Hi - I'm new here though I've had BT Total BB for some time now and I've always been happy with it. Could do with some advice here please.. I had a long standing line fault on the voice line which I put up with for ages until recently when it got so