Need help in differences of Yoga 13 modifications : 59-345617, 349732, 349862, 345617, 367091

Hello,
Could you please help me to find list of Yoga 13 modifications. For example could you please specify differences of the following Yoga 13 modifications : 59-
345617
349732
349862
367091

hi myweb,
the differences could be from these reasons:
- different intel chipset ( i3/i5/i7)
- different colors
- different ram capacity
- different ssd capacity
if you google the model numbers, i believe you'll see the difference between the models.
hope this helps.

Similar Messages

  • [Urgent] Need help calculating difference between two dates

    I'm trying to write a code to display the current day and time, then accept two dates from the user and display the difference between the two dates. To display the current date and time, I've used the SimpleDateFormatter library but I'm having difficulty calculating the difference between two dates. Could someone please help me with this?
    Below is my code so far
    import java.util.Date;
    import java.util.Scanner;
    import java.text.SimpleDateFormat;
    public class DateFormatter {
         public void displayNow()
              Date todaysDate = new Date();
              SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss");
              String formattedDate = formatter.format(todaysDate);
              System.out.println("Today's date and time is: "+formattedDate);
         public void calculateDifference(Date startDate, Date endDate)
              /* This is whre i need help! */
         public static void main(String[] args)
              DateFormatter df = new DateFormatter();
              Scanner sc = new Scanner(System.in);
              df.displayNow();
              System.out.println("Please enter a date: ");
              String date1 = sc.next();
              System.out.println("Please enter another date: ");
              String date2 = sc.next();
    }The methods displayNow() and calculateDifference(Date startDate, Date endDate) are essential and cannot be skipped out.

    tarahmarie101 wrote:
    Dude. I've tried doing assignments under pressure, and it doesn't work. Here's a piece of free advice. Start earlier next time, don't put "urgent" in the title of your post b/c it just pisses people off around here--and is a sure sign of an overdue homework assignment which no one around here likes helping with, and try to ask intelligent questions--don't just say "Help me!"
    Of course, it takes some time to learn what the intelligent questions are. You have my sympathy. Try asking questions about how to do a particular task, instead of asking people to tell you what to do. It starts to get easier after a while.
    actually dude i started on this on monday.. but there were so many other stuff to do along with this.. and i did try referring up the Calendar utility but it was a bit confusing actually.. it was only after that did i come to this forum.. nor am i very good at Java.. anyhoo thanks for your sympathies :P

  • NEED HELP with Keyboard for Yoga 2 Android Tablet

    I have just spent more than an hour talking with Lenovo Sales/Customer Service tying to find out why the Yoga tablet I bought my son for Christmas doesn't have a keyboard (I purchased the tablet directly from Lenovo). 
    http://shop.lenovo.com/us/en/tablets/lenovo/yoga-tablet-series/yoga-tablet-2-10/
    I called sales 4 times and each time I get a different answer: they are out of the keyboard, buy the keyboard from BestBusy or Amazon, there is no keyboard (even though it is pictured), it will have a keyboard but no one knows when.
    I did buy the keyboard I was told by a chat with Lenovo from Amazon but it is not the correct keyboard and now I'm stuck with a tablet without a keyboard and keyboard without a tablet.
    Customer Service won't help saying it's a sales problem and Sales says there is nothing they can do and transfers me to Customer Service.  It is infuriating. 
    My son is so dissappinted. He only wanted this tablet because it came with a keyboard (we thought) and he can use it at school.  We will likely return the tablet if it was misrepresented on the Lenovo webiste.
    Does anyone know if and when the keyboard will be available? 

    The keyboard is also supposed to be a cover s seen in the photos. We bought the tablet because it clearly shows a keyboard case if not included at least available.
    I was willing to purchase the keyboard cover but first Lenovo sales said they were out and said to purchase the keyboard (also Lenovo) at BestBuy instead but it turned out to be the wrong keyboard (not the one in the picture - too big, falls off and likely to break). Then I was told by someone else in customer service there was no keyboard and the picture is of the prototype.  Then I was told by someone else in sales that there may be one coming out in the future but no one knows when and how much it will be.
    Today I had to spend more than an hour being bounced around and not getting an answer. We really want the keyboard as shown in the picture. Unfortunately because we thought the folks in sales knew about the tablet, we bought the wrong keyboard at their instruction and now it can't be returned.

  • I need help with finding right stylus pen for lenovo yoga 2 pro!

    I did read other person's post, but I did not find my answer. I am currently using my fingers to write my notes and it drives me nuts! I do have a stylus pen that have huge round fabric tip. It does not write well. I want a stylus pen with pointy end so I can acturally take my notes on OneNote. I writes equations down so it is very hard to write small and neat with my hand. I do know that my laptop is touch sensitive so it only works with rubber or fabric tips! I could not find any stylus pen with those tip that are pointy.... I need help on finding pointy tipped stylus pen that will let me write well. I am ordering ati-glare screen protector because I can see myself on the screen like a mirror... lol Hopefully this will not keep me from finding a pen that works well! Please give me link to the pen, if you can! Thank you for reading!

    ColonelONeill is correct.
    The Yoga 2 Pro does not have a digitizer, so a capacitative stylus, which mimics a fingertip, is what you'd need.
    Regards.
    English Community   Deutsche Community   Comunidad en Español   Русскоязычное Сообщество
    Community Resources: Participation Rules • Images in posts • Search (Advanced) • Private Messaging
    PM requests for individual support are not answered. If a post solves your issue, please mark it so.
    X1C3 Helix X220 X301 X200T T61p T60p Y3P • T520 T420 T510 T400 R400 T61 Y2P Y13
    I am not a Lenovo employee.

  • I need help re-installing CS4 production premium. Error code says "Installation database is corrupt" but if I try to delete the caps.db file I can't even find one. Furthermore, I tried Adobe Cleaner and it made no difference. HELP!

    I need help re-installing CS4 production premium (for PC). Error code says "Installation database is corrupt" but if I try to delete the caps.db file I can't even find one. Furthermore, I tried Adobe Cleaner and it made no difference. HELP!

    I need help re-installing CS4 production premium (for PC). Error code says "Installation database is corrupt" but if I try to delete the caps.db file I can't even find one. Furthermore, I tried Adobe Cleaner and it made no difference. HELP!

  • LSMW - Need help with Sales Order (Modification VA01)

    Hi,
    I need help with an LSMW for Sales Order (VA01).
    I need to do the following:
    1. Copy the Standard Sales Order LSMW
    2. They (users) would like to be able to pick the batch (lot) from the sales order.
    3. Also, they would like to have functionality, where from the list of Sales Order numbers, they would be able to switch one part number for another.
    Please help with the above 3 needs.
    Thanks,
    Laura

    Hi
    Run transaction SE38, insert your program (RVINVB10), select DOCUMENTATION option and press display
    Just only you need to consider the BDC program needs to read afile with all informations to create a sales order, so you have to create a program to prepare a file arraged as RVINVB10 needs, the documentaion explains how the file has to be created.
    Max

  • I need helping!!! configuring RDP access to my local server from a remote location on my Cisco ASA 5505 Firewall.

    I need helping configuring RDP access to my local server from a remote location on my Cisco ASA 5505 Firewall.
    I have attempted to configure rdp access but it does not seem to be working for me Could I please ask someone to help me modify my current configuration to allow this? Please do step by step as I could use all the help I could get.
    I need to allow the following IP addresses to have RDP access to my server:
    66.237.238.193-66.237.238.222
    69.195.249.177-69.195.249.190
    69.65.80.240-69.65.80.249
    My external WAN server info is - 99.89.69.333
    The internal IP address of my server is - 192.168.6.2
    The other server shows up as 99.89.69.334 but is working fine.
    I already added one server for Static route and RDP but when I try to put in same commands it doesnt allow me to for this new one. Please take a look at my configuration file and give me the commands i need in order to put this through. Also please tell me if there are any bad/conflicting entries.
    THE FOLLOWING IS MY CONFIGURATION FILE
    Also I have modified IP information so that its not the ACTUAL ip info for my server/network etc... lol for security reasons of course
    Also the bolded lines are the modifications I made but that arent working.
    ASA Version 7.2(4)
    hostname ciscoasa
    domain-name default.domain.invalid
    enable password DowJbZ7jrm5Nkm5B encrypted
    passwd 2KFQnbNIdI.2KYOU encrypted
    names
    interface Vlan1
    nameif inside
    security-level 100
    ip address 192.168.6.254 255.255.255.0
    interface Vlan2
    nameif outside
    security-level 0
    ip address 99.89.69.233 255.255.255.248
    interface Ethernet0/0
    switchport access vlan 2
    interface Ethernet0/1
    interface Ethernet0/2
    interface Ethernet0/3
    interface Ethernet0/4
    interface Ethernet0/5
    interface Ethernet0/6
    interface Ethernet0/7
    ftp mode passive
    dns server-group DefaultDNS
    domain-name default.domain.invalid
    object-group network EMRMC
    network-object 10.1.2.0 255.255.255.0
    network-object 192.168.10.0 255.255.255.0
    network-object 192.168.11.0 255.255.255.0
    network-object 172.16.0.0 255.255.0.0
    network-object 192.168.9.0 255.255.255.0
    object-group service RDP tcp
    description RDP
    port-object eq 3389
    object-group service GMED tcp
    description GMED
    port-object eq 3390
    object-group service MarsAccess tcp
    description MarsAccess
    port-object range pcanywhere-data 5632
    object-group service MarsFTP tcp
    description MarsFTP
    port-object range ftp-data ftp
    object-group service MarsSupportAppls tcp
    description MarsSupportAppls
    port-object eq 1972
    object-group service MarsUpdatePort tcp
    description MarsUpdatePort
    port-object eq 7835
    object-group service NM1503 tcp
    description NM1503
    port-object eq 1503
    object-group service NM1720 tcp
    description NM1720
    port-object eq h323
    object-group service NM1731 tcp
    description NM1731
    port-object eq 1731
    object-group service NM389 tcp
    description NM389
    port-object eq ldap
    object-group service NM522 tcp
    description NM522
    port-object eq 522
    object-group service SSL tcp
    description SSL
    port-object eq https
    object-group service rdp tcp
    port-object eq 3389
    access-list outside_1_cryptomap extended permit ip 192.168.6.0 255.255.255.0 object-group EMRMC
    access-list inside_nat0_outbound extended permit ip 192.168.6.0 255.255.255.0 192.168.0.0 255.255.0.0
    access-list inside_nat0_outbound extended permit ip 192.168.6.0 255.255.255.0 object-group EMRMC
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 host 99.89.69.334 eq pcanywhere-data
    access-list outside_access_in extended permit udp 69.16.158.128 255.255.255.128 host 99.89.69.334 eq pcanywhere-status
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 host 99.89.69.334 object-group RDP
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 192.168.6.0 255.255.255.0 eq ftp
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 192.168.6.0 255.255.255.0 eq ldap
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 192.168.6.0 255.255.255.0 eq h323
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 192.168.6.0 255.255.255.0 eq telnet
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 192.168.6.0 255.255.255.0 eq www
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 host 99.89.69.334 object-group SSL
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 192.168.6.0 255.255.255.0 object-group NM522
    access-list outside_access_in extended permit tcp 69.16.158.128 255.255.255.128 192.168.6.0 255.255.255.0 object-group NM1731
    access-list outside_access_in extended permit tcp 173.197.144.48 255.255.255.248 host 99.89.69.334 object-group RDP
    access-list outside_access_in extended permit tcp any interface outside eq 3389
    access-list outside_access_in extended permit tcp host 66.237.238.194 host 99.89.69.333
    access-list outside_access_in extended permit tcp host 66.237.238.194 host 99.89.69.333 object-group rdp
    access-list outside_access_in extended permit tcp any host 99.89.69.333 object-group rdp
    access-list out_in extended permit tcp any host 192.168.6.2 eq 3389
    pager lines 24
    logging enable
    logging asdm informational
    mtu inside 1500
    mtu outside 1500
    icmp unreachable rate-limit 1 burst-size 1
    asdm image disk0:/asdm-524.bin
    no asdm history enable
    arp timeout 14400
    global (outside) 1 interface
    nat (inside) 0 access-list inside_nat0_outbound
    nat (inside) 1 0.0.0.0 0.0.0.0
    static (inside,outside) tcp 99.89.69.334 3389 192.168.6.1 3389 netmask 255.255.255.255
    static (inside,outside) tcp interface 3389 192.168.6.2 3389 netmask 255.255.255.255
    access-group outside_access_in in interface outside
    route outside 0.0.0.0 0.0.0.0 99.89.69.338 1
    timeout xlate 3:00:00
    timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
    timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
    timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
    timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
    http server enable
    http 192.168.6.0 255.255.255.0 inside
    http 0.0.0.0 0.0.0.0 outside
    no snmp-server location
    no snmp-server contact
    snmp-server enable traps snmp authentication linkup linkdown coldstart
    crypto ipsec transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
    crypto map outside_map 1 match address outside_1_cryptomap
    crypto map outside_map 1 set peer 68.156.148.5
    crypto map outside_map 1 set transform-set ESP-3DES-MD5
    crypto map outside_map interface outside
    crypto isakmp enable outside
    crypto isakmp policy 10
    authentication pre-share
    encryption 3des
    hash md5
    group 1
    lifetime 86400
    crypto isakmp policy 30
    authentication pre-share
    encryption 3des
    hash md5
    group 2
    lifetime 86400
    telnet timeout 5
    ssh timeout 5
    console timeout 0
    dhcpd auto_config outside
    tunnel-group 68.156.148.5 type ipsec-l2l
    tunnel-group 68.156.148.5 ipsec-attributes
    pre-shared-key *
    class-map inspection_default
    match default-inspection-traffic
    policy-map type inspect dns preset_dns_map
    parameters
      message-length maximum 512
    policy-map global_policy
    class inspection_default
      inspect dns preset_dns_map
      inspect ftp
      inspect h323 h225
      inspect h323 ras
      inspect rsh
      inspect rtsp
      inspect esmtp
      inspect sqlnet
      inspect skinny
      inspect sunrpc
      inspect sunrpc
      inspect xdmcp
      inspect sip
      inspect netbios
      inspect tftp
    service-policy global_policy global
    prompt hostname context
    Cryptochecksum:f47dfb2cf91833f0366ff572eafefb1d
    : end
    ciscoasa(config-network)#

    Unclear what did not work.  In your original post you include said some commands were added but don't work:
    static (inside,outside) tcp interface 3389 192.168.6.2 3389 netmask 255.255.255.255
    and later you state you add another command that gets an error:
    static (inside,outside) tcp 99.89.69.333 3389 192.168.6.2 3389 netmask 255.255.255.255
    You also stated that 99.89.69.333 (actually 99.89.69.233, guessing from the rest of your config and other posts) is your WAN IP address.
    The first static statement matches Cisco's documentation, which states that a static statement must use the 'interface' directive when you are trying to do static PAT utilizing the IP address of the interface.  Since 99.89.69.333 is the assigned IP address of your WAN interface, that may explain why the second statement fails.
    Any reason why you are using static PAT (including the port number 3389) instead of just skipping that directive?  Static PAT usually makes sense when you need to change the TCP port number.  In your example, you are not changing the TCP port 3389.

  • Need Help Putting Together a rMBP so I Have Everything I Need...

    Hello-
    I am having trouble getting the right kind of help from "Chat Now" on apple.com and calling in to get my questions/needs taken care of so that when I get the rMBP I will be sure I wil have what I need to go right online and teach the online courses. I even went to the local apple store and woked with a couple sames guys there, but they were not clear in a couple situations on what I would need with the different options the rMBP gives. so I am truning to the great apple forum for additional help.  this might be too much to ask even for tis forum, but if I can learn a little at a time, maybe I can gradually gain the knowledge I need to have a complete and functioning home office for my personal computing needs and my needs as an online teacher at a university back East. My technical knowledge is not the best, so as far as the rMBP goes, a big problem for me is that I do not have the knowledge to make sure I order everything I need with the changes a new rMBP will bring to my current setup (which is just a basic MBP using a wireless router and a USB cable for the printer that I just connect when I need to print). I realizee my current set up on my desk is not the most advanced, but I would need a pro to come to my office and help me get the best set-up for what I am curently using. It seems that the agents I chat with and/or talk to on the phone are aslo lacking in knowledge to help me put together a rMBP that will be ready to fully use and have with the order all that I need so that I do not have to order additional items in a mad rush to be ready for the courses I am teaching online. I have read several articles about the rMBP so that I cold have some knowledge about what I will need but as I said my techie knowledge is lacking. I am looking at the 15" rMBP with all of the full upgrades that the configure option allows one to get. I am not clear if I do run into trouble with my wi fi and have to use my ethernet cable what I will need to do this. I also have programs that are older that I am guesing I will need to install using a DVD player. I would like to hook up the printer I have or a new Canon printer and use it wirelessly, but for now I will most likely be using it with a USB cable. I am not clear on the thunderbolt technology and if I should get any of these cables for any of the connections. I also would like to get a great speaker system and will need to hook that up, but I am not clear on the best way to do this. I have been wanting an iMac, but I am not sure what is a good slection to get and how to connect it to the rMBP or one of the other 2 older MBPs I currently have.
    If somebody could list for me what I would need to have a complete rMBP that will allow me to do these hookups and connections and explain what would be the best way to complete the various connections so that I have all that I will need to get up and running, I would really appreciate it. Because I do not have any USB 3.0 cables or cables for various additional connections, I would need help/suggestions in this area. I realize this is hard to do not seeing my office, but since I will be starting new with the purchase of the new rMBP and hopefully an iMac (and a new Canon printer and new set of great sounding speakers) getting some advice on what I should order for the various connections would be a hugh help. Part of the problem is with the rMBP and not having used one of these in the past. I know some of the differences with this machine like the lack of an internal SuperDrive and the new ports, but I do not know what cables I will need that will utilize the newer technology this machine and an imac will bring to my office.
    Any suggestions are greatly appreciated, even if you do not give me specific answers, but an idea, for example, of what I might need to connect the speaker system (knowing the best way the new speaker system shold be connected to the rMBP and/or the iMac. I am not even clear if I do want to use the iMac with the rMBP for teaching with a larger display what I will need to connect the imac to the rMBP. is this done by an HDMI cable and if so is there a specific type or example you could mention that is on apple.com?

    There are many differences with the new rMBP. There are ports that I am not sure what I would use them for.  Even the ethernet cable I use now to get the internet will not work with the rMBP.  I thought there would be some additional help on here.  as far as configuring the rMBP there are just a few options but the differences between an older MBP and the new rMBP is great.  No need to reply I will turn off email notifications. I gave as much information as I did because in the past I was told to give more information.

  • T400 LCD dim issue - Need help!!

    I'm having a LCD dim issue with a T400. Have changed the LCD panel, LCD cable and systemboard but still having same issue. If i removed the lcd card, then the display is working fine. I've tested the lcd card in another working unit and it's working as well (means the lcd card is working). I use a working lcd card and plug into this T400 but LCD still dim. 
    I've try to switch the problematic lcd cable and lcd panel to a working systemboard and it kills the systemboard. Have try to switch a few things but still unable to find the root cause. Urgently need help on this. Any advice will be appreciated.
    Model : 6475-RM5

    hey bhoh
    i suggest uninstalling your current graphic card driver, let windows install its own generic drivers and see if that makes any difference
    WW Social Media
    Important Note: If you need help, post your question in the forum, and include your system type, model number and OS. Do not post your serial number.
    Did someone help you today? Press the star on the left to thank them with a Kudo!
    If you find a post helpful and it answers your question, please mark it as an "Accepted Solution"!
    Follow @LenovoForums on Twitter!
    Have you checked out the Community Knowledgebase yet?!
    How to send a private message? --> Check out this article.

  • Warning this is very long code but i need help to see if I am on right trac

    I have done all the following code myself and it is the buisiness layer for my application. I have tried to follow recommendations on previous posts and I would like to be told where I can clean up my code and how? This is not complete and it looks very long to me but I need help in order to be better. There are 4 button vlivks and I have not completed them all. The criteria for application is that phonebook will accept new entries if they have names surnames and phone numbers that are not longer than 10 characters for display purposes but can change this. No duplicates are allowed. No editing of a existing entry must lead to a duplicate entry either. No new entry or edit may result in a new contact having no phone numbers.
    Many thanks for your time in advance,.....
    import javax.swing.JOptionPane;
    import java.util.ArrayList;
    public class Contact
    {// Start of the Contact class
         ArrayList<ContactDetails> phoneList = new ArrayList<ContactDetails>();          // To hold all the contacts
         ArrayList<ContactDetails> searchList = new ArrayList<ContactDetails>();          // To hold all contacts that return true on search
         ArrayList<ContactDetails> list = new ArrayList<ContactDetails>();
         String newName;                                                                                // To hold the new name
         String newSurname;                                                                           // to hold the new surname
         String newHome;                                                                                // To hold the new home number if any
         String newWork;                                                                                // To hold the new work number
         String newCell;                                                                                // To hold the new cell number
         final int MAX_LENGTH = 10;
         public boolean addToPhoneList;                                                            // Sets to false if there is an invalid entry
         public boolean addToSearchList;                                                            // Sets to false if there is an invlid search
         public boolean modifyContact;                                                            // Sets to false if there is an invalid modification
         // Method to create a new contact
         public void createNew()
         {// Start of create new()
              addToPhoneList = true;                                                                 // Set boolean to true each time the method is executed
              getNewContactsName();                                                                 // Get new name
              if(addToPhoneList == false)
                   createNew();
                   return;
              getNewContactsSurname();                                                            //Get new surname
              if(addToPhoneList == false)
                   createNew();
                   return;
              String checkName = newName;                                                            //Creates copies to be used in the checkIfDuplicate method
              String checkSurname = newSurname;
              addToPhoneList = checkIfDuplicate(checkName, checkSurname);                    //Check if the entries are duplicate
              if(addToPhoneList == false)
                   createNew();
                   return;
              getNewContactsHomeNum();                                                            // Get new home number
              if(addToPhoneList == false)
                   createNew();
                   return;
              getNewContactsWorkNum();                                                            // Get new work number
              if(addToPhoneList == false)
                   createNew();
                   return;
              getNewContactsCellNum();                                                            // Get new cell number
              if(addToPhoneList == false)
                   createNew();
                   return;
              checkAtLeastOneNumEntered();                                                       // Check that at least one phone number was entered
              if(addToPhoneList == true)
                   updateListWithNew();
         }// End of createNew()
         // Method to search for an existing contact
         public void searchExisting()
         {// Start of searchExisting()
              addToSearchList = true;                                                                 // Set the boolean true
              searchList.clear();                                                                      // Clear list from any previous searches
              if(phoneList.size() > 0)                                                            // Check if any contacts are in the list
                   getExistingDetailsAndSearch();                                                  // If there are entries then continue to search
              else
                   JOptionPane.showMessageDialog(null,"There are no contacts to search for. Please use this option when you have added a contact to the list.","Error",JOptionPane.ERROR_MESSAGE);
         }// End of searchExisting()
         // Method to modify an existing contact
         public void modifyExisting()
         {// Start of modifyExisting()
              modifyContact = true;                                                                 // Set the boolean to true
              if(phoneList.size() <= 0)                                                            // Check if the phonelist is not empty
                   JOptionPane.showMessageDialog(null,"There are no contacts to modify. Please use this option when there have been contacts added to the list.","Error",JOptionPane.ERROR_MESSAGE);
              else
                   getExistingDetailsAndModify();                                                  // If phonelist not emty continue to modify method
         }// End of modifyExisting()
         //Method to delete a contact from the list
         public void deleteExisting()
         //Method to get new contacts name
         public void getNewContactsName()
              newName = JOptionPane.showInputDialog("Please enter the new contacts name or press cancel to exit without saving.");
              if(newName == null)
                   finish();
              if(newName.trim().length()<=0)
                   JOptionPane.showMessageDialog(null,"You have not entered a name. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                   addToPhoneList = false;
                   return;
              addToPhoneList = checkLengthValid(newName, "name");
         //Method to get a new contacts surname
         public void getNewContactsSurname()
              newSurname = JOptionPane.showInputDialog("Please enter the new contacts surnname or press cancel to exit without saving.");
              if(newSurname == null)
                   finish();
              addToPhoneList = checkLengthValid(newSurname, "surname");
         //Method to get a new contacts home number
         public void getNewContactsHomeNum()
              newHome = JOptionPane.showInputDialog("Please enter the new contacts home number or press cancel to exit without saving.");
              if(newHome == null)
                   finish();
              if(newHome.trim().length() > 0)
                   try
                        Long homeNum = Long.parseLong(newHome);
                   catch(Exception e)
                        JOptionPane.showMessageDialog(null,"You may only use numbers for a valid phone number. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                        addToPhoneList = false;
                        return;
              addToPhoneList = checkLengthValid(newHome, "home number");
         //Method to get a new contacst work number
         public void getNewContactsWorkNum()
              newWork = JOptionPane.showInputDialog("Please enter the new contacts work number or press cancel to exit without saving");
              if(newWork == null)
                   finish();
              if(newWork.trim().length()> 0)
                   try
                        Long workNum = Long.parseLong(newWork);
                   catch(Exception e)
                        JOptionPane.showMessageDialog(null,"You may only use numbers for a valid number. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                        addToPhoneList = false;
                        return;
              addToPhoneList = checkLengthValid(newWork, "work number");
         //Method to get a new contacts cell number
         public void getNewContactsCellNum()
              newCell = JOptionPane.showInputDialog("Please enter the new contacts cell number or press cancel to exit without saving");
              if(newCell == null)
                   finish();
              if(newCell.trim().length() > 0)
                   try
                        Long cellNum = Long.parseLong(newCell);
                   catch(Exception e)
                        JOptionPane.showMessageDialog(null,"You may only use numbers for a valid number. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                        addToPhoneList = false;
                        return;
              addToPhoneList = checkLengthValid(newCell, "cell number");
         //Method to get the details for an existing contact
         public void getExistingDetailsAndSearch()
              String existingName = getExistingName("search for");
              if(existingName == null)
                   addToSearchList = false;
                   return;
              if(existingName.length()<=0)
                   JOptionPane.showMessageDialog(null,"You have not entered a name please try again","Error",JOptionPane.ERROR_MESSAGE);
                   addToSearchList = false;
                   searchExisting();
              String existingSurname = getExistingSurname();
                   if(existingSurname == null)
                        return;
              if(addToSearchList == true)
                   searchAndAddIfFound(existingName, existingSurname);
         //Method to get existing details and modify contact
         public void getExistingDetailsAndModify()
              String existingName = getExistingName("modify");
              if(existingName == null)
                   modifyContact = false;
                   return;
              if(existingName.length()<=0)
                   JOptionPane.showMessageDialog(null,"You have not entered a name please try again","Error",JOptionPane.ERROR_MESSAGE);
                   modifyContact = false;
                   modifyExisting();
              String existingSurname = getExistingSurname();
                   if(existingSurname == null)
                        return;
              if(modifyContact == true)
                   getContactBySearch(existingName.trim().toUpperCase(), existingSurname.trim().toUpperCase());
         //Method to get the contact from list and modify details
         public void getContactBySearch(String currentName, String currentSurname)
              int count = 0;
              int numFound = 0;
              for(ContactDetails cd: phoneList)
                   cd = phoneList.get(count);
                   if((cd.name.equals(currentName))&&(cd.surname.equals(currentSurname)))
                        numFound ++;
                        changeDetails(cd);
                   count ++;
              if(numFound <= 0)
                   JOptionPane.showMessageDialog(null,"No contacts matching the name and surname you entered found. Press the modify button to try again.","Information",JOptionPane.INFORMATION_MESSAGE);
         //Method to get existing contacts name
         public String getExistingName(String whatWasClicked)
              String name = JOptionPane.showInputDialog("Please enter the contacts name that you wish to "+whatWasClicked);
              return name;
         //Method to get an existing contacts surname
         public String getExistingSurname()
              String surname = JOptionPane.showInputDialog("Please enter the contacts surname.");
              return surname;
         //Method to change the details of contact
         public void changeDetails(ContactDetails conToChange)
              String currentName = conToChange.name;
              String currentSurname = conToChange.surname;
              String currentHome = conToChange.home;
              String currentWork = conToChange.work;
              String currentCell = conToChange.cell;
              String newNameForContact = getNewModName(currentName);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              String newSurnameForContact = getNewModSurname(currentSurname);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              String newHomeForContact = getNewModHome(currentHome);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              String newWorkForContact = getNewModWork(currentWork);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              String newCellForContact = getNewModCell(currentCell);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              if(modifyContact == true)
                   conToChange.name = newNameForContact;
         //Method to get the modified name
         public String getNewModName(String currentName)
              String newModifiedName = JOptionPane.showInputDialog("Please enter the new name for contact or press cancel to keep it as is.");
              if(newModifiedName == null)
                   return currentName;
              if(newModifiedName.trim().length() <= 0)
                   JOptionPane.showMessageDialog(null,"You may not replace the existing name with a blank name. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                   modifyContact = false;
                   return currentName;
              modifyContact = checkLengthValid(newModifiedName, "modified name");
              return newModifiedName;
         //Method to get the modified surname
         public String getNewModSurname(String currentSurname)
              String newModifiedSurname = JOptionPane.showInputDialog("Please enter the new surname for the contact or press cancel to keep it as is.");
              if(newModifiedSurname == null)
                   return currentSurname;
              modifyContact = checkLengthValid(newModifiedSurname, "modified surname");
              if(modifyContact == false)
                   JOptionPane.showMessageDialog(null,"Surname not changed.","Information",JOptionPane.INFORMATION_MESSAGE);
                   return currentSurname;
              modifyContact = checkLengthValid(newModifiedSurname, "modified surname");
              return newModifiedSurname;
         //Method to search and update the list with a succesfull search
         private void searchAndAddIfFound(String name, String surname)
              int count = 0;
              int numFound = 0;
              for(ContactDetails cd: phoneList)
                   cd = phoneList.get(count);
                   if(cd.name.equals(name.trim().toUpperCase()))
                        numFound ++;
                        searchList.add(cd);
                   count ++;
              if(numFound <= 0)
                   JOptionPane.showMessageDialog(null,"No contacts were found matching the dat you entered.","Information",JOptionPane.INFORMATION_MESSAGE);
              else
                   list.clear();
                   list.addAll(searchList);
         //Method that check all entries are a valid logical length
         //Method is based on assumption that a normal name, surname, and phone numbers are not longer than 10 characters long.
         //IF This method is changed please change the layout in the GUI as this is also set to fit with the layout that gives a neat //apperance
         private boolean checkLengthValid(String detailEntered, String whatWasEntered)
              boolean validLength = true;
              if(detailEntered.trim().length() >= MAX_LENGTH)
                   JOptionPane.showMessageDialog(null,"The " +whatWasEntered+" you entered is too long. Please try again and use a "+whatWasEntered+" that is less than "+MAX_LENGTH+" characters long.","Error",JOptionPane.ERROR_MESSAGE);
                   validLength = false;
              return validLength;
         private void finish()
              System.exit(0);
         //Method to update the list with a new entry
         private void updateListWithNew()
              try
                   ContactDetails cd = new ContactDetails();
                   cd.name = newName.trim().toUpperCase();
                   cd.surname = newSurname.trim().toUpperCase();
                   cd.home = newHome.trim();
                   cd.work = newWork.trim();
                   cd.cell = newCell.trim();
                   phoneList.add(cd);
                   JOptionPane.showMessageDialog(null,"Contact succesfully entered. To save this change press exit to save or use the save option in the toolbar menu.","Information",JOptionPane.INFORMATION_MESSAGE);
              catch(Exception e)
                   JOptionPane.showMessageDialog(null,"Failed to add contact to list. If problem persists please contact the software developer.","Error",JOptionPane.ERROR_MESSAGE);
              list.clear();
              list.addAll(phoneList);
         //Method to check for duplicate
         public boolean  checkIfDuplicate(String nameToCheck, String surnameToCheck)
              int count = 0;
              boolean valid = true;
              for(ContactDetails cd : phoneList)
                   cd = phoneList.get(count);
                   if(((nameToCheck.trim().toUpperCase()).equals(cd.name))&&((surnameToCheck.trim().toUpperCase()).equals(cd.surname)))
                        JOptionPane.showMessageDialog(null,"You may not enter a duplicate contact. Please try again and change the name and surname.","Error",JOptionPane.ERROR_MESSAGE);
                        valid = false;
                        break;
                   count ++;
              return valid;
         //Method to check that at least one phone number exists for contact
         public void checkAtLeastOneNumEntered()
              if((newHome.trim().length()<=0)&&(newWork.trim().length()<=0)&&(newCell.trim().length()<=0))
                   JOptionPane.showMessageDialog(null,"You have not entered any phone number at all. You must enter at least one phone number for a new contact.","Error",JOptionPane.ERROR_MESSAGE);
                   addToPhoneList = false;
         //Method that returns the list to the GUI
         public ArrayList<ContactDetails> getList()
              return list;
    }

    Should I start over from scratch? Can I get help with links to tutorials on following? How to create a java CRUD application (google not useful) and how to layer in java(google not useful)
    This is my pres layer as is is this wrong too?
         Filename:     ContactsListInterface.java
         Date:           16 March 2008
         Programmer:     Yucca Nel
         Purpose:     Provides a GUI for entering names and contact numbers into a telephone directory.
                        Also allows options for searching for a specific name and deleting of data from the record
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.text.*;
    import java.io.*;
    import java.util.*;
    import java.text.*;
    public class Phonebook1 extends JFrame implements ActionListener
    { //start of class
         // construct fields, buttons, labels,text boxes, ArrayLists etc
         JTextPane displayPane = new JTextPane();
         JLabel listOfContacts = new JLabel("List Of Contacts");               // creates a label for the scrollpane
         JButton createButton = new JButton("Create");
         JButton searchButton = new JButton("Search");
         JButton modifyButton = new JButton("Modify");
         JButton deleteButton = new JButton("Delete");
         Contact c = new Contact();
         ArrayList<ContactDetails> contactList = c.getList();
         // create an instance of the ContactsListInterface
         public Phonebook1()
         { // start of cli()
              super("Phonebook Interface");
         } // end of cli()
         public JMenuBar createMenuBar()
         { // start of the createMenuBar()
              // construct and populate a menu bar
              JMenuBar mnuBar = new JMenuBar();                              // creates a menu bar
              setJMenuBar(mnuBar);
              JMenu mnuFile = new JMenu("File",true);                         // creates a file menu in the menu bar which is visible
                   mnuFile.setMnemonic(KeyEvent.VK_F);
                   mnuFile.setDisplayedMnemonicIndex(0);
                   mnuFile.setToolTipText("File Options");
                   mnuBar.add(mnuFile);
              JMenuItem mnuFileExit = new JMenuItem("Save And Exit");     // creates an exit option in the file menu
                   mnuFileExit.setMnemonic(KeyEvent.VK_X);
                   mnuFileExit.setDisplayedMnemonicIndex(1);
                   mnuFileExit.setToolTipText("Close Application");
                   mnuFile.add(mnuFileExit);
                   mnuFileExit.setActionCommand("Exit");
                   mnuFileExit.addActionListener(this);
              JMenu mnuEdit = new JMenu("Edit",true);                         // creates a menu for editing options
                   mnuEdit.setMnemonic(KeyEvent.VK_E);
                   mnuEdit.setDisplayedMnemonicIndex(0);
                   mnuEdit.setToolTipText("Edit Options");
                   mnuBar.add(mnuEdit);
              JMenu mnuEditSort = new JMenu("Sort",true);                    // creates an option for sorting entries
                   mnuEditSort.setMnemonic(KeyEvent.VK_S);
                   mnuEditSort.setDisplayedMnemonicIndex(0);
                   mnuEdit.add(mnuEditSort);
              JMenuItem mnuEditSortByName = new JMenuItem("Sort By Name");          // to sort entries by name
                   mnuEditSortByName.setMnemonic(KeyEvent.VK_N);
                   mnuEditSortByName.setDisplayedMnemonicIndex(8);
                   mnuEditSortByName.setToolTipText("Sort entries by first name");
                   mnuEditSortByName.setActionCommand("Name");
                   mnuEditSortByName.addActionListener(this);
                   mnuEditSort.add(mnuEditSortByName);
              JMenuItem mnuEditSortBySurname = new JMenuItem("Sort By Surname");     // to sort entries by surname
                   mnuEditSortBySurname.setMnemonic(KeyEvent.VK_R);
                   mnuEditSortBySurname.setDisplayedMnemonicIndex(10);
                   mnuEditSortBySurname.setToolTipText("Sort entries by surname");
                   mnuEditSortBySurname.setActionCommand("Surname");
                   mnuEditSortBySurname.addActionListener(this);
                   mnuEditSort.add(mnuEditSortBySurname);
              JMenu mnuHelp = new JMenu("Help",true);                                        // creates a menu for help options
                   mnuHelp.setMnemonic(KeyEvent.VK_H);
                   mnuHelp.setDisplayedMnemonicIndex(0);
                   mnuHelp.setToolTipText("Help options");
                   mnuBar.add(mnuHelp);
              JMenuItem mnuHelpHelp = new JMenuItem("Help");                              // creates a help option for help topic
                   mnuHelpHelp.setMnemonic(KeyEvent.VK_P);
                   mnuHelpHelp.setDisplayedMnemonicIndex(3);
                   mnuHelpHelp.setToolTipText("Help Topic");
                   mnuHelpHelp.setActionCommand("Help");
                   mnuHelpHelp.addActionListener(this);
                   mnuHelp.add(mnuHelpHelp);
              JMenuItem mnuHelpAbout = new JMenuItem("About");                         // creates a about option for info about api
                   mnuHelpAbout.setMnemonic(KeyEvent.VK_T);
                   mnuHelpAbout.setDisplayedMnemonicIndex(4);
                   mnuHelpAbout.setToolTipText("About this program");
                   mnuHelpAbout.setActionCommand("About");
                   mnuHelpAbout.addActionListener(this);
                   mnuHelp.add(mnuHelpAbout);
              return mnuBar;
         } // end of the createMenuBar()
         // create the content pane
         public Container createContentPane()
         { // start of createContentPane()
              //construct and populate panels and content pane
              JPanel labelPanel = new JPanel(); // panel is only used to put the label for the textpane in
                   labelPanel.setLayout(new FlowLayout());
                   labelPanel.add(listOfContacts);
              JPanel displayPanel = new JPanel();// panel is used to display all the contacts and thier numbers
                   setTabsAndStyles(displayPane);
                   displayPane = addTextToTextPane();
                   displayPane.setEditable(false);
              JScrollPane scrollPane = new JScrollPane(displayPane);
                   scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); // pane is scrollable vertically
                   scrollPane.setWheelScrollingEnabled(true);// pane is scrollable by use of the mouse wheel
                   scrollPane.setPreferredSize(new Dimension(400,320));
              displayPanel.add(scrollPane);
              JPanel workPanel = new JPanel();// panel is used to enter, edit and delete data
                   workPanel.setLayout(new FlowLayout());
                   workPanel.add(createButton);
                        createButton.setToolTipText("Create a new entry");
                        createButton.addActionListener(this);
                   workPanel.add(searchButton);
                        searchButton.setToolTipText("Search for an entry by name number or surname");
                        searchButton.addActionListener(this);
                   workPanel.add(modifyButton);
                        modifyButton.setToolTipText("Modify an existing entry");
                        modifyButton.addActionListener(this);
                   workPanel.add(deleteButton);
                        deleteButton.setToolTipText("Delete an existing entry");
                        deleteButton.addActionListener(this);
              labelPanel.setBackground(Color.red);
              displayPanel.setBackground(Color.red);
              workPanel.setBackground(Color.red);
              // create container and set attributes
              Container c = getContentPane();
                   c.setLayout(new BorderLayout(30,30));
                   c.add(labelPanel,BorderLayout.NORTH);
                   c.add(displayPanel,BorderLayout.CENTER);
                   c.add(workPanel,BorderLayout.SOUTH);
                   c.setBackground(Color.red);
              // add a listener for the window closing and save
              addWindowListener(
                   new WindowAdapter()
                        public void windowClosing(WindowEvent e)
                             int answer = JOptionPane.showConfirmDialog(null,"Are you sure you would like to save all changes and exit?","File submission",JOptionPane.YES_NO_OPTION);
                             if(answer == JOptionPane.YES_OPTION)
                                  System.exit(0);
              return c;
         } // end of createContentPane()
         protected void setTabsAndStyles(JTextPane displayPane)
         { // Start of setTabsAndStyles()
              // set Font style
              Style fontStyle = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
              Style regular = displayPane.addStyle("regular", fontStyle);
              StyleConstants.setFontFamily(fontStyle, "SansSerif");
              Style s = displayPane.addStyle("bold", regular);
              StyleConstants.setBold(s,true);
         } // End of setTabsAndStyles()
         public JTextPane addTextToTextPane()
         { // start of addTextToTextPane()
              int numberOfEntries = contactList.size();
              int count = 0;
              Document doc = displayPane.getDocument();
              try
              { // start of tryblock
                   // clear previous text
                   doc.remove(0,doc.getLength());
                   // insert titles of columns
                   doc.insertString(0,"NAME\tSURNAME\tHOME NO\tWORK NO\tCELL NO\n",displayPane.getStyle("bold"));
                   for(ContactDetails cd : contactList)
                        cd = contactList.get(count);
                        doc.insertString(doc.getLength(),cd.name+"\t"+cd.surname+"\t"+cd.home+"\t"+cd.work+"\t"+cd.cell+"\n",displayPane.getStyle("regular"));
                        count ++;
              } // end of try block
              catch(BadLocationException ble)
              { // start of ble exception handler
                   System.err.println("Could not insert text.");
              } // end of ble exception handler
              return displayPane;
         } // end of addTextToTextPane()
         // code to process user clicks
         public void actionPerformed(ActionEvent e)
         { // start of actionPerformed()
              String arg = e.getActionCommand();
              // user clicks create button
              if(arg.equals("Create"))
                   c.createNew();                                                  // method to create a new Contact
                   addTextToTextPane();
              if(arg.equals("Search"))
                   c.searchExisting();                                             // method to search for an existing entry
                   addTextToTextPane();
              if(arg.equals("Modify"))
                   c.modifyExisting();                                             // method to modify contact
                   addTextToTextPane();
              if(arg.equals("Delete"))
                   c.deleteExisting();
                   addTextToTextPane();
              if(arg.equals("Exit"))
         } // end of actionPerformed()
         // method to create a new contact
         public static void main(String[] args)
         { // start of main()
              // Set look and feel of interface
              try
              { // start of try block
                   UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
              } // end of try block
              catch(Exception e)
              { // start of catch block
                   JOptionPane.showMessageDialog(null,"There was an error in setting the look and feel of this application","Error",JOptionPane.INFORMATION_MESSAGE);
              } // end  of catch block
              Phonebook1 pb = new Phonebook1();
              pb.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
              pb.setJMenuBar(pb.createMenuBar());
              pb.setContentPane(pb.createContentPane());
              pb.setSize(520,500);
              pb.setVisible(true);
              pb.setResizable(false);
         } // end of main()
    } //end of class

  • I NEED HELP! How do you Create a Drop Down Accordion Navi with the child pages remaining expanded

    I would like to know how I can create a vertical accordion navigation with some custom modifications.
    I need it to function like this sites vertical navigation. (link is below)  Click on the parent page "bedrooms" and it expands revealing all of the "child pages" then click on one of the child pages, it turns the font to Underlined and all the child pages remain exposed!  (it does not collapse after you click on a child page!!!!!!!) I need my site to do this as it tells the visiter where they are exactly on the site!     Please HELP ME!  Thank You! 
    I would actually like mine to be a little more pronounced.  Perhaps having the link turn to BOLD Font indicating you are on that page.  And the main Parent page would have a diffrent background color. 
    Site that has the Navi that I want to Mimic:
    http://www.fowfurniture.com/
    EXAMPLE: Adhesives IS IN BOLD indicating you are on that page. and it remains open it should remain open until you click on another parent page like Hardwood. (Then the Hardwood child pages (Sub Menu) would expand looking like the carpet sub menus/child pages.  All of the accordians i have found seam to collapse after you select a child page (sub menu) and the visitor wouldn't know where he is on the site...  Please Help Me accomplish this!
    Carpet
                          Repairs
                          Fibers
                          Adhesives    
                          Tools
                          Pad
    Hardwood
    When nothing is selected it should look like this: The cell of "Carpet" is a slightly a diffrent color because it is in the "Hover"  state. 
    Carpet
    Hardwood
    Tile
    Vinyl
    Linoleum

    Still need help, I could do it for a value lower. contact me at [email protected]

  • Need help choosing optimal hardware for a laptop that will run AE CS5

    BACKGROUND INFO (Questions listed below)
    I need some help figuring out the best hardware configuration for a new laptop. I’m a student at a design school and I will be using the laptop to mainly run After Effects and to a lesser extent Photoshop and Illustrator. I don’t need to worry about 3D rendering software or Premier Pro. I am primarily interested in getting the best performance during editing. I am not looking for the best performance for final output. I would prefer to sacrifice final output times for better editing/interface performance.
    I will be working with standard definition content and perhaps HD up to 720p on occasion. I do not need to operate in resolutions higher than 720p. My projects are generally animation and use many sources and many layers.
    I’ve been reading up on optimal hardware configurations for CS5 but my understanding is still a little foggy and I would like to use this thread to figure out how to build the best machine for my budget. The budget is about $1400 to $1600 CANADIAN after tax.
    I DON’T need help finding the laptop. I will search for it on my own. I just need to understand the best hardware to purchase within my budget.
    I realize that it is probably impossible to buy the laptop I want with the hardware configuration I need “off the shelf”. Instead I will be looking for a good base model (~$900-$1100) and I will purchase the necessary hardware upgrades separately. I will not be purchasing a Mac.
    Right now I’m thinking of a machine built something like this:
    - 15”-16” screen (17” models are too big/heavy)
    - Mid to high end i5 processor OR entry level i7 quad core
    - 8GB RAM (I would go to 12GB, but it’s hard to find a 15”-16” laptop with 3 memory slots)
    - SSD to replace HDD (However, if possible, I would like a laptop with dual HDD support or swap the optical drive for another HDD. If I had access to 2 drives, I would have and HDD/SSD combo).
    - Medium/high end NVIDIA GPU to take advantage of OpenGL while editing.
    QUESTIONS
    1) Does the “Render Multiple Frames Simultaneously” option enhance general editing performance (applying filters, scrubbing through the timeline, reverting history states)? Or does it ONLY help speed up RAM previews and final output? Does it reduce the length of RAM previews?
    1b) Is this option even necessary to enable on 64bit systems? (As far as I understand it was used to solve a problem where 32bit systems/software would only recognize 4GB of RAM per instance of AE).
    1c) If I turn this option on to help with RAM previews, would I be hindering general editing performance in any way? Or does this option have basically zero drawbacks?
    2) How come “Actual CPUs that will be used” will read 0 even if the sum total of RAM assigned to the CPUs plus the RAM reserved for other applications is less than the total available system RAM (on a 64bit system)? For example, I currently have 4GB RAM and 2 installed CPUs. I have 1.5GB reserved for other programs and when I set 0.75GB per CPU both CPUs are used. However when I set 1GB per CPU then 0 CPUs are used, even though the total RAM adds up to only 3.5GB.
    CPU
    3.) Considering the fact that I am more concerned with smooth performance while editing rather than final output speeds, would it be better to get a dual core i5 clocked around 2.5 or a quad core i7 clocked around 1.8?
    4.) What is the difference between an i3 and an i5 processor even if they are clocked at the same speed? How does an i5 460M compare on the grand scheme of things?
    RAM
    6.) Should the quantity of RAM that I get (8GB vs 12GB) be based on the number of cores in my CPU? If so, how should I be calculating optimal RAM based on # of cores. Should I also be counting threads, or just actual physical cores?
    STORAGE/SWAP
    7.) Should I replace the HDD with an SSD? I'm looking for snappy interface performance while editing. I would think that if the RAM fills up it would be best to have the SSD for scratch/cache.
    8.) What performance benchmarks are most important when considering an SSD for After Effects? (4k writes? IOs per second? Max read/write?)
    9.) I can afford the OCZ Vertex2 120GB SSD. Would this be a good choice if an SSD is recommended?
    10.) Would it be better to have 8GB of RAM and an SSD, or 12GB of RAM and an HDD? Explain why.
    GPU
    10.) After Effects utilizes OpenGL to enhance editing performance. I will not really be using Premier Pro, so catering to the CUDA Mercury Engine is not a concern. Do high end gaming cards provide significant gains in OpenGL performance? Or do OpenGL performance gains taper off around the mid-range GPUs? (i.e. can you justify buying a high end GTX 260M graphics card for enhanced editing performance versus an "entry level" dedicated card like the 310M?)
    11.) What hardware specs are most important when considering a GPU for editing performance in AE? (Memory size? # of Pixel shaders? Core speed? Shader speed?)
    Thanks so much for any answers you can offer to these questions.

    Please make sure that you've read through this page and what it points to.
    > 1) Does the “Render Multiple Frames Simultaneously” option
    enhance general editing performance (applying filters, scrubbing through
    the timeline, reverting history states)? Or does it ONLY help speed up
    RAM previews and final output? Does it reduce the length of RAM
    previews?
    It only increases rendering speed for RAM previews and rendering for final output. In After Effects CS5, it doesn't decrease the length of RAM previews. (In CS4, it does.)
    1b) Is this option even necessary to enable on 64bit
    systems? (As far as I understand it was used to solve a problem where
    32bit systems/software would only recognize 4GB of RAM per instance of
    AE).
    You misunderstood. Yes, it's still relevant on 64-bit computers. Moreso, in a way. (I'd rather not spend my entire Sunday writing out detailed answers to satisfy idle curiosity, so I'm not going to give all the technical detail to that answer.)
    > 1c) If I turn this option on to help with RAM previews,
    would I be hindering general editing performance in any way? Or does
    this option have basically zero drawbacks?
    It takes a small but nonzero time for the background processes to start up when they need to be used and shut down when they're done. And as they sit waiting, they take up a little bit of memory. So, it's not exactly correct to say that there are no downsides to leaving it on. But it's close. I leave it on.
    > 2) How come “Actual CPUs that will be used” will read 0 even
    if the sum total of RAM assigned to the CPUs plus the RAM reserved for
    other applications is less than the total available system RAM (on a
    64bit system)? For example, I currently have 4GB RAM and 2 installed
    CPUs. I have 1.5GB reserved for other programs and when I set 0.75GB per
    CPU both CPUs are used. However when I set 1GB per CPU then 0 CPUs are
    used, even though the total RAM adds up to only 3.5GB.
    4GB - 1.5GB for other software leaves 2.5 GB for After Effects.
    If you have 1GB assigned per background CPU, then the foreground takes 1.2x that = 1.2GB. That leaves 1.3GB for background processes, which is enough for one background process. There's no point in starting only one background process to do rendering, so it doesn't bother. (Note: When background processes are rendering, the foreground process isn't rendering.)
    > 3.) Considering the fact that I am more concerned with
    smooth performance while editing rather than final output speeds, would
    it be better to get a dual core i5 clocked around 2.5 or a quad core i7
    clocked around 1.8?
    Get the quad-core. That gives you a greater total number of cycles. And After Effects works very well with mutliple processors, even beyond Render Multiple Frames Simultaneously multiprocessing. An entirely unrelated sort of multiprocessing (multithreading) spreads work out to multiple processors.
    > 6.) Should the quantity of RAM that I get (8GB vs 12GB) be based on the number of cores in my CPU? If
    so, how should I be calculating optimal RAM based on # of cores. Should
    I also be counting threads, or just actual physical cores?
    The optimum amount is the amount that you can cram into the computer. I'm not kidding. Spend your budget on RAM until you have 4GB installed per processor (and I'm counting the virtual processors due to hyperthreading). If you have a quad-core, that's 8 CPUs with hyperthreading, so the optimum amount of RAM installed is 32GB. You can work with less, but you did ask about optimum. For HD work (i.e., 1920 pixels across), you're OK with more like 3GB installed per CPU. That's what I have at home: 24GB in a quad-core. You're going to assign 2/3 or so of the RAM to After Effects, so 3GB installed per CPU is 2GB per core for HD work in After Effects.
    > 10.) Would it be better to have 8GB of RAM and an SSD, or 12GB of RAM and an HDD? Explain why.
    12GB of RAM. Because After Effects likes RAM. (If you're thinking of deliberatly using virtual memory to swap memory to the hard disk, don't. That's a performance killer.)
    > 10.) After Effects utilizes OpenGL to enhance editing performance.
    Not really. If you're on a limited budget, don't even think about the GPU until you've already got the most RAM, the fastest CPUs, the largest number of CPUs, two fast hard disks, and a couple of good monitors. Then, and only then, should you even consider getting soemthing beyond a non-stock graphics card. Yes, OpenGL can be used to accelerate some things, but that's only for the low-fidelity preview renderer. (Pardon the bluntness, but I want to make sure that you heed this.)

  • Need Help in trying to understand class objects

    I need help on understanding following problem.I have two files for that, which are as follows:
    first file
    public class Matrix extends Object {
         private int  matrixData[][];     // integer array to store integer data
         private int    rowMatrix;     // number of rows
         private int    colMatrix;     // number of columns
         public Matrix( int m, int n )
         {       /*Constructor: initializes rowMatrix and colMatrix,
              and creates a double subscripted integer array matrix
              of rowMatrix rows and colMatrixm columns. */
              rowMatrix = m;
              colMatrix = n;
              matrixData = new int[rowMatrix][colMatrix];
         public Matrix( int data[][] )
         {     /* Constructor: creates a double subscripted integer array
              and initilizes the array using values of data[][] array. */
              rowMatrix = data.length;
              colMatrix = data[0].length;
              matrixData = new int [rowMatrix][colMatrix];
              for(int i=0; i<rowMatrix; i++)
                   for(int j=0; j<colMatrix; j++)
                        matrixData[i][j] = data[i][j];
         public int getElement( int i, int j)
         {      /* returns the element at the ith row and jth column of
              this matrix. */
              return matrixData[i][j];
         public boolean setElement( int  x, int i, int j)
         {     /* sets to x the element at the ith row and jth column
              of this matrix; this method  should also check the
              consistency of i and j (i.e.,  if  i and j are in the range
              required for subscripts; only in this situation the operation
              can succeed); the method should return true if the operation
              succeeds, and should return false otherwise.
              for(i=0;i<rowMatrix;i++){
                   for(j=0;j<colMatrix;j++){
                        x = matrixData[i][j];
              if(i<rowMatrix && j<colMatrix){
                   return true;
              else{
                   return false;
         public Matrix transposeMatrix( )
         {     /*returns a reference to an object of the class Matrix,
              that contains the transpose of this matrix. */
         Verify tata;
         Matrix trans;
         //Matrix var = matrixData[rowMatrix][colMatrix];
         for(int row=0;row<rowMatrix;row++){
              for(int col=0;col<colMatrix;col++){
              matrixData[rowMatrix][colMatrix] = matrixData[colMatrix][rowMatrix];
         trans = new Matrix(matrixData);
                         return trans;
         public Matrix multipleMatrix( Matrix m )
              /*returns a reference to an object of the class Matrix,
              that contains the product of this matrix and matrix m. */
          m = new Matrix(matrixData);
              //Matrix var = matrixData[rowMatrix][colMatrix];
              for(int row=0;row<rowMatrix;row++){
                   for(int col=0;col<colMatrix;col++){
                        //trans[row][col] = getElement(row,col);
         return m;
         public int diffMatrix( Matrix m )
              /*returns the sum of the squared element-wise differences
              of this matrix and m ( reference to the formula in the description
              of assignment 5) */
         return 0;
         public String toString(  )
              /* overloads the toString in Object */
              String output = " row = " + rowMatrix + " col="+colMatrix + "\n";
              for( int i=0; i<rowMatrix; i++)
                   for( int j=0; j<colMatrix; j++)
                        output += " " + getElement(i,j) + " ";
                   output += "\n";
              return output;
    Second file
    public class Verify extends Object {
         public static void main( String args[] )
              int[][] dataA = {{1,1,1},{2,0,1},{1,2,0},{4,0,0}}; // data of A
              int[][] dataB = {{1,2,2,0},{1,0,3,0},{1,0,3,4}};   // data of B
              Matrix matrixA = new Matrix(dataA);     // matrix A
              System.out.println("Matrix A:"+matrixA);
              Matrix matrixB = new Matrix(dataB);     // matrix B
              System.out.println("Matrix B:"+matrixB);
              // Calculate the left-hand matrix
              Matrix leftFormula = (matrixA.multipleMatrix(matrixB)).transposeMatrix();
              System.out.println("Left  Side:"+leftFormula);
              // Calculate the right-hand matrix
              Matrix rightFormula = (matrixB.transposeMatrix()).multipleMatrix(matrixA.transposeMatrix());
              System.out.println("Right Side:"+rightFormula);
              // Calculate the difference between left-hand matrix and right-hand matrix
              // according to the formula in assignment description
              double diff = leftFormula.diffMatrix(rightFormula);
              if( diff < 1E-6 ) // 1E-6 is a threshold
                   System.out.println("Formula is TRUE");
              else
                   System.out.println("Formula is FALSE");
    }My basic aim is to verify the formula
    (A . B)' =B' . A' or {(A*B)tranpose = Btranspose * A transpose}Now My problem is that I have to run the verify class file and verify class file will call the matrix class and its methods when to do certain calculations (for example to find left formula it calls tranposematrix() and multipleMatrix();)
    How will I be able to get the matrix which is to be transposed in transposeMatrix method (in Matrix class)becoz in the method call there is no input for transposematrix() and only one input for multipleMatrix(matrix m).
    please peeople help me put in this.
    thanking in advance

    Please don't crosspost.
    http://forum.java.sun.com/thread.jspa?threadID=691969
    The other one is the crosspost.Okay, whatever. I'm not really concerned with which one is the original. I just view the set of threads overall as being a crosspost, and arbitrarily pick one to point others toward.
    But either way
    knightofdurham... pick one thread and post only in
    the one.Indeed. And indicate such in the other one.

  • Need help in creating Knowledge module to aggregrate source data.

    Hi Guys,
    I am new to ODI and I am trying to create a Knowledge module. I went through the docs relating to Knowledge modules and APIs, so hopefully did my home work, I still find writing KM to be very challenging for the scenario, I have.
    The following is my scenario.
    I have two tables Employee and Department. Employee is the source and Department is the target. I need to sum salaries of all the employees belonging to a given department. And then insert the data into Department table.
    Structure of the tables is as follows:
    Employee(Source Table name)
    Employee_id
    Salary
    Dept_id
    Department(Target table name)
    id
    total_salary
    Both target and source are on the same server. The user of this KM would drag and drop both source and target tables into interface and then map the columns. In the above case, Dept_id to id and salary to total_salary and then use this IKM. And off-course the user would indicate what columns would be aggregated on and what would be used as group by. One way to tag that, would be to use those UD1,UD2 tags in target column properties. (If there is another way to tag a column to indicate a column to be used for aggregation and a given column to be used in group by during run time in source, please let me know)
    I choose to write IKM for this.
    The challenging part is that I am having hard time figuring out the columns of source table as to what column should be used as group by and what column to be aggregated on. Since the tags are defined on Target columns and not on source columns. So have to figure out the appropriate columns through the mapping at run time.
    The following is what I am planning to write in (Insert new rows ) command. And the part where I need help is how to compose select statement.
    iinsert into <%=odiRef.getTable("L","TARG_NAME","A")%>
    <%=odiRef.getColList("", "[COL_NAME]", ",\n\t", "", "((INS and !TRG) and REW)")%>
    <%=odiRef.getColList(",", "[COL_NAME]", ",\n\t", "", "((INS and TRG) and REW)")%>
    Select
    source.column1,sum(source.column2) from <%=odiRef.getFrom()%> GROUP BY source.column1
    Thanks.

    I did try as per your advise.
    Filter is not making a difference. Irrespective of me adding a filter or not, ODI generates a sql that has GROUP BY , just by looking at SUM(SALARY).
    Coming back to the main issue, this does do what I wanted to do. I was planning on using a custom KM. But I guess, this is as good as custom KM, since the work done in an interface (assuming a custom KM exists) by going through either route is the same, so I can live with this approach.
    Thanks for the help.

  • Router's Web-based page not loaded correctly.. Need Help!!

    I'm using WRT54G v2.2 router and recently i noticed tat i've flashed a wrong firmware which is WRT54GL version, so wat i did was i flash the original v2.2 firmware which i noticed it had not been updated since 2007... after i flashed the router and i log into the 192.168.1.1 webpage.. all the tabs and many options are missing as though the page was not loaded correctly or fully loaded and i cant even get into the management page and so on..
    I really need help on this..  

    Hold the reset button down for 30seconds and then release it. Unplug the power cable for 10 seconds. try accessing the set up page once again and see if it makes a difference.

Maybe you are looking for

  • Build and Archive not available?

    I'm trying to build an application to test on a friends (windows based) computer, so I want to do the Build and Archive function and send them the file since they are remote. My app builds fine, loads in the simulator and everything, but this option

  • Mails not going from SOST to external mail ids

    Hi all, I have to send mails to external mail ids in workflow. when my workflow triggers, mails are coming in SOST transaction. But, when i try any mail to send further to its respective mail id, its giving the following error:- " no route available

  • Finder window size reverts to default after restart

    My Finder window doesn't remember the last size I set it to after a restart. Mountain Lion was a downgrade - there are many things about Snow Leopard that were better...but Jaguar was the best.  Powerbook G4 was pure freedom all the way through Tiger

  • Cancel long running statement in Oracle Lite (OLITE_10.3.0.3.0 olite40.jar)

    On JDBC statement, there is the method 'cancel' to instruct the database to cancel an executing statement. This works fine on Oracle server database, but not on Oracle lite database. The method call 'cancel' just blocks and the running statement is n

  • IC data/booking - business rule

    Hi BPC masters, I am new with BPC and I have a couple of questions about IC data/booking and its business rule. I am sorry if it seems too basic. 1) In the guide BPC440 and other guides available on the internet, we could see they are using ICDIFF01