Questions about iMac Core i7 Photoshop and Capture One performance.

Hello Everyone,
I am in the market for a new Mac and was thinking about the iMac Core i7.
Now my question is, how the performance in Photoshop is for that machine ?
I work on 24 Mpix raws and occasionaly on 30-40+ Mpix raws from Medium Format cameras.
My files quickly get up to 100 layers and I only work in 16 bit, so I am a little bit concerned if such an iMac would meet my expectations and the files get 1, 2 or 3 GB big. I would definately pump as much RAM inside as possible to get more speed.
What are your experiences ?
And the other thing I would like to know is how Capture One performs on that machine regarding tethered shooting and Batch Processing files into Jpegs ?
Thank you in advance !
Cheers,
Martin

Thank you guys for your answers.
If I am going to buy that iMac i definately would buy some Kingston Ram, not the apple one way too overpriced.
I am also concerned about the R/W speed of the iMac. What are you experiences with FW drives as Raid-sets ?
I also can't wait for CS 5. The 64 Bit version would definately speed up things and photoshop could finally access more than 3 GB of RAM and hope this will end my concernes about scratch disks.
@Wade: Partitioning the internal hard drive and using the second partition as scratch disk is not good. The needle of the drive would go crazy skipping between partitions.Never have the scratch disk on the same disk as photoshop. Also it would decrease your hard drives lifetime.
Cheers,
Martin.

Similar Messages

  • Questions about iMac Core i7 Photoshop performance

    Hello Everyone,
    I am in the market for a new Mac and was thinking about the iMac Core i7.
    Now my question is, how the performance of Photoshop is on that machine ?
    I work on 24 Mpix raws and occasionaly on 30-40+ Mpix raws from Medium Format cameras.
    My files quickly get up to 100 layers and I only work in 16 bit, so I am a little bit concerned if such an iMac would meet my expectations and the files get 1 or 2  GB big. I would definately pump as much RAM inside as possible to get more speed.
    What are your experiences ?
    Your help is greatly appreciated.
    Thank you very much  in advance.
    Cheers,
    Martin.

    Thank you guys for your answers.
    If I am going to buy that iMac i definately would buy some Kingston Ram, not the apple one way too overpriced.
    I am also concerned about the R/W speed of the iMac. What are you experiences with FW drives as Raid-sets ?
    I also can't wait for CS 5. The 64 Bit version would definately speed up things and photoshop could finally access more than 3 GB of RAM and hope this will end my concernes about scratch disks.
    @Wade: Partitioning the internal hard drive and using the second partition as scratch disk is not good. The needle of the drive would go crazy skipping between partitions.Never have the scratch disk on the same disk as photoshop. Also it would decrease your hard drives lifetime.
    Cheers,
    Martin.

  • Question about Quad Core 2.93 and Octo-Core 2.66

    OK, so forgive me cause I am asking a question that has been asked a zillion times. I have read and searched and read and searched, however, I still don't quite understand a few things.
    I am a huge Aperture user. I shoot the Canon 1Ds Mark III and use photoshop a lot as well.
    I am still confused. What is the difference in performance between a
    loaded 8 GIGs ram Quad Core 2.93 or
    a middle 8-Core 2.66 12 gigs RAM
    I read benchmarks after benchmarks, but most use games for their stats and that does not help me. I read the boards, but it is all so confusing what people think. I went to the Apple store, and of course, they immediately said 8-core! hahaha.
    I hear an 8-core can be slower at single core apps than a quad core and so on and on.
    please help me!

    Hi-
    this question si about what the ** is the difference between a Quad 2.93 and a Octo 2.66.
    The question is pretty vague.
    Maybe asking "What benefit do I get from an octo core as opposed to a quad core?" would be better.
    To understand the main difference, and the main benefit of an octo core over a quad core, understanding the concept of multithreading is necessary.
    Basically, Multithreading is the ability of a system to break tasks up into portions (threads), and assign these portions across multiple CPU cores, enabling the calculation, thus the process, to be be completed faster than if the entire process were to be done on a single core.
    Because of this, more cores allows for faster completion of system functions. Yes, it's faster.
    Currently, some software isn't quite up to snuff in supporting/utilizing multithreading abilities of multi core systems.
    But, that is changing, and changing rapidly.
    Soon, all software will be able to utilize the multithreading ability of a multi core system, and greater increases in system performance will be realized.
    In the upcoming OS 10.6 release, further enhancement of multithreading operation will be seen.
    What this all means to the end user, say in Photoshop, is, work will fly, complex enhancements will be almost instantaneous, and productivity can be increased.
    Along with the multi core, multi channel memory will also allow for the use of larger amounts of RAM, with out the bottlenecking that occurs in singe channel systems.
    Again, everything works faster.
    The octo core allows for more physical RAM, which, even now, but more so in the near future, always helps with memory hungry applications like Photoshop.
    Basically, the biggest difference between the two machines, is the octo core is more future proof- that is, it will support future software enhancements better than the quad core.
    And, we are talking +near future+.
    I believe the Quad is limited to 8 gigs RAM, not 16.
    Both machines can use 4GB DIMMs, so the quad core can use 16GB and the octo core can use 32GB.
    Buying RAM from a trusted third party vendor can reduce costs greatly, without affecting the Apple warranty.
    Again, Apple employees are telling you what the book says, what they currently offer, not what can be done.
    Apple store said SDD in a Mac Pro is not a good idea at all. Again, more conflicting suggestions.
    The Apple store will not recommend anything that Apple is not officially selling.
    SSDs work, and they work well.
    Just ask Samsara, or some of the other hot rodders on these forums.
    And because I don't understand scratch disk, SDD disks, raptor drives etc, this all is not getting me anywhere. thus, why i tried the Apple store.
    Ask. Study. Use Wikipedia.
    Educating oneself is paramount to improving decisions, questions, work and life........
    SSD - The future, now. Fast, expensive (but coming down in price), no moving parts (reliable)Solid State Drive
    *Raptor Drives* - A family of 10,000 RPM SATA drives from Western Digital. These drives are high performance. They make systems run faster.
    *Scratch Disks* - These are additional hard drives (in addition to the system drive) that allow for greater utilization of virtual memory- the writing of files, temporarily, to hard drive, to free up physical memory and allow faster calculations of processes.
    Anyone who does work with video or photography software, must have a working knowledge of the benefits of a scratch drive.
    Photoshop runs +way faster+ with a fast scratch disk.
    When seeking advice on any forum, the more specific the question, the easier it will be for contributors to provide advice that is pleasing to your senses.
    I've given you my take on what I feel may be your questions intent.
    Hopefully, it wasn't a waste of time.....

  • Question about 2 TB external drives and Time Machine.

    Here's a very basic question about 2 TB external drives and Time Machine.
    I have a Mac Pro with a .75 TB and 1 TB drive.  It also has a 1 TB 2nd internal drive.  My current external drive is too small so I'll be getting a 1.5 TB or 2 TB drive.
    Obviously the new larger 2 TB drive will backup everything on the Mac Pro internal drive with Time Machine.  But there will be 1 TB of space left over going to waste.
    Should I partition the external drive so that the TM portion will be 1 TB and the use the remaining extra partition for additional file backups with Carbon Copy?
    Thanks for any insights.
    I tried searching around on the new Apple discussion forum, but I find it much harder to use than the old forum I used to use.

    John,
    I'm not sure why you posted in the iMac forum so I'm going to attempt to get you to the correct spot. I would recommend reposting in the Time Machine Forum, this is part of the OS X forums (Leopard or Snow Leopard) because you are using Snow Leopard (your profile indicates you are) please click Apple Support Communities and type Snow Leopard. Then you can narrow the search down by clicking Refine this List.
    Roger

  • Here's a very basic question about 2 TB external drives and Time Machine.

    Here's a very basic question about 2 TB external drives and Time Machine.
    Ihave a Mac Pro with a .75 TB and 1 TB drive.  It also has a 1 TB 2ndinternal drive.  My current external drive is too small so I'll begetting a 1.5 TB or 2 TB drive.
    Obviouslythe new larger 2 TB drive will backup everything on the Mac Prointernal drive with Time Machine.  But there will be 1 TB of space leftover going to waste.
    ShouldI partition the external drive so that the TM portion will be 1 TB andthe use the remaining extra partition for additional file backups withCarbon Copy?
    Thanks for any insights.
    I tried searching around on the new Apple discussion forum, but I find it much harder to use than the old forum I used to use.

    The problem with terabyte drives is that that a 3 TB is about as big as you can get without going into RAID territory. Ideally, a Time Machine drive should be 3 times as large as all the drives you are backing up. So, if you have 2.75 TB of internal storage, you should have 8 TB of Time Machine space.
    Of course, that is "should". If your TB drives are mostly empty, then you can get away with something 3 times the size of your used disk space. Just remember that you are pushing it. Linc is right about Time Machine needing space to work.
    It is unlikely that you have regular churn on 2.75 TB of disk. I suggest identifying which drives and folders have the most activity and excluding those drives and directories that don't change much. It would be better to archive the data that doesn't change often and keep it out of Time Machine. Then you may be able to get away with a 2 TB Time Machine drive.

  • Can an iPhoto library be shared with Lightroom and capture one?

    Since Aperture is being replaced by … nothing, how can I access the same library with multiple editors?

    Neither iPhoto, Lightroom nor Capture One are editors. They are all database driven Photo Managers with non-destructive processing. There is no rational workflow that would use more than one of these apps, any more than it would make sense to write a novel in three different word processors at the same time.
    Pick the one that suits your needs - if you're coming from Aperture then forget iPhoto, it's much less capable and also being end-of-lifed. Pick between Lightroom and Capture One. Then google the options for migration from Aperture to the one you choose.

  • Questions about iMac

    Hello! I have alway been using PC's but this time I'm thinking of buying an iMac.
    The one I've been looking at is iMac 27" 2.8GHz Intel Quad-Core i5/4GB/1TB/Radeon HD 5750 (1GB)/SD. I love the easy and simple look of the iMac but my quest is will I be able to run the latest games on this iMac? How about the temperature etc?

    Buy an iMac 27" - good luck! I bought one 2 weeks ago - bought a new base station - bought indigestion tablets to try and ease the chest pains!! I have had NOTHING but HUGE problems trying to get onto the Net - get mail - and continual hassles with the **** thing asking for a password every time I want to do the simplest of tasks such as install an application like say Photoshop!!! I have had a 2 hour discussion with a very charming and extremely helpful young lady at Apple support in Singapore who guided me through the set up for Internet access etc and the FINAL solution was - guess what? - erase the hard drive 'cause there was something evil on the hard drive that was stopping the access!! Erase the hard drive? This is a brand new iMac straight from Apple and the hard drive is ******?!!!!! I did so and guess what number 2 - it didn't work either!! It is now 18 days of this rubbish and if I don't get an answer from apple support when I ring tomorrow the iMac is on its way back to Apple for a replacement/refund/repair - take your pick!!

  • A few question about iPhone OS in CS5 and CS5 in general.

    Hi,
    I'm an IT trainer and I am trying to introduce my students to programming for iPhone/iPod Touch. (They are Secondary 2 students. 14 years old) The school is using a windows computer and CS5 right now is the best for the class (Not a steep learning curve and a user-friendly program). I know about the problems over the iPhone OS in CS5 with Apple but I was told it is still available for use. Furthermore, we have no intention of bringing the apps created to the Apple Store. I've tried the trial version and before I make any purchase, I would actually like to ask a few questions.
    Is the iPhone OS in the trial version itself complete? Is there anything left out from the trial version because when I tried it, it seems fine however I did not try publishing to an iPhone due to the certificates. Is there a reason for the certificate? Is there any way around it because if there isn't do I need to get a certificate for every single student? (I'm looking at a class of 40 students.) Is the certificate available for windows platform?
    Lets say, I got myself a certificate, create a simple program and then publish it, can I immediately bring it over to iTunes and then sync? Will it work that way? I don't want it to be too tedious for the students to see the end result. I've done quite a few research and have come across people having problems bringing it into their devices. Those people mention about bringing it to Cydia and needing to jailbreak the device. The devices made available for the students are not jailbroken. Will iPhone OS with proper certification still need Cydia for use with their device? Will only jailbroken device allow a CS5 app? I hope you get what I'm trying to say. We as trainers do not support teaching students to jailbreak, so that's definitely a no-no.
    Another thing about CS5. Previously I have called customer support about the CS4 the school is using now and the problem with nested animation when publishing the animation as a video file, is this problem still in CS5? Does CS5 allow nested animation to be published as a video file? If it isn't, is there any way around it?
    Thank you for your time and patience in answering my questions.
    Regards,
    Shafuraa

    Dear Marco,
    Thanks for th links, its quite handy. One more help required from you as its related to Idsktune. I was just reruning the idsktune on Soalris 10 box where zfs file system used, and able to see the below warning
    WARNING: largefiles option is not present on mount of /, files may be limited to 2GB in size.
    Could you tell me this alert specific to zfs file system, I was searching the mount parameter options specific to file size, but not able to get anything. Below are the system parameters.
    bash-3.00$ ulimit -a
    core file size (blocks, -c) unlimited
    data seg size (kbytes, -d) unlimited
    file size (blocks, -f) unlimited
    open files (-n) 256
    pipe size (512 bytes, -p) 10
    stack size (kbytes, -s) 8192
    cpu time (seconds, -t) unlimited
    max user processes (-u) 29995
    virtual memory (kbytes, -v) unlimited
    In UFS file system I have noted, for such largefile option we are adding the "largefile" parameter in mount, below is such an example.
    /var/crash on /dev/md/dsk/d40 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1540028 on Thu Aug 19 14:54:11 2010
    Could you guide me on this file size warning specific to zfs file system.
    Many thanks in advance for your support,

  • Some basic questions about rmi registry  context  "bind" and "lookup"

    We have more processing to do than can be accomplished with a single computer. To solve the problem I've implemented a distributed computing solution using RMI. (The first time I saw RMI was about 2 weeks ago, so please bear with me!)
    The implementation is a proof of concept not a fully fleshed out system. I have one "Workunit Distributor" computer and any number of "Data Processor" computers all on the same lan segment. "Workunit Distributor" and "Data Processor" computers are both RMI client and server to each other. The "Data Processor" computers are given the ip address and name of the "Data Distributor" on the commandline when they start. They communicate their willingness to receive and process a workunit to the ""Workunit Distributor" via a RMI call. Work units are sent to available "DataProcessors" and results are eventually returned to the "WorkunitDistributor" (minutes or hours later). The model program works quite well, and appears to be capable of doing the processing we need to get done.
    But now that it seems viable, I've been asked to make it a little more scalable, flexible and self configuring. In particular, instead of one "Workunit Distributor", any number of "Workunit Distributors" should be allowed to show up or disappear from the lan at any time and the system should continue to function. I've worked out a good scheme for how this can be done, but I have a couple of questions about the RMI registry (registries?). I'm trying to keep from implementing some functionality that may already be available as a library or subsystem.
    With my current model design, each computer binds to its own registry with a unique name. For instance:
    CRDataProcessorImpl crdpi = new CRDataProcessorImpl(svr);
    Context crDataProcessingContext = new InitialContext();
    crDataProcessingContext.bind("rmi:"+hostName, crdpi);
    Currently the "Data Processors" get the info they need for a Context lookup() of the one and only "Workunit Distributor" from the commandline. And the info the "Workunit Distributor" needs to do a Context lookup() of a "DataProcessor" is passed to it from each "DataProcessor" via a RMI call.
    But in the newer (yet to be implemented) scheme where any and all "Workunit Distributors" show up and disappear whenever they feel like, the naming bootstrapping scheme described above won't work.
    I can imagine a few ways of solving this problem. For instance, having "Workunit Distributors" multicast their contact information on the lan and have a worker thread on each "Data Processor" keep track of the naming information that was multicast. Another alternative (more organized, but more complex) might be to have a dedicated host with a "well known" address and port that "Workunit Distributors" and "Data Processors" could all go to, to register or look up at an application level. Sort of a "domain name service" for RMI. But both these schemes look like a lot of work to implement , debug and maintain.
    The BEST thing would be if there was one plain vanilla RMI registry that was usable by all RMI enabled computers instead of having each computer have its own local name registry. In volume 2 of the Core Java2 book it says that every registry must be local. I'm only hoping there's been progress since the book was published and now a central rmi registry is available.
    If you have any ideas about this I'd like to hear what you know.
    Thanks in advance for any advice.
    Lenny Wintfeld
    ps - I don't believe web services, as full featured as it is, is a useful alternative. I'm moving 100's (in the future possibly 1000's) of megabytes back an forth for processing.

    The local bind/rebind/unbind restriction is still there and it will always be there.
    I would look at
    (a) RMI/IIOP, where you use COSNaming as a registry, which doesn't have that registriction, and which also has location-independent object identifiers
    (b) Jini.

  • Some questions about the integration between BIEE and EBS

    Hi, dear,
    I'm a new bie of BIEE. In these days, have a look about BIEE architecture and the BIEE components. In the next project, there are some work about BIEE development based on EBS application. I have some questions about the integration :
    1) generally, is the BIEE database and application server decentralized with EBS database and application? Both BIEE 10g and 11g version can be integrated with EBS R12?
    2) In BIEE administrator tool, the first step is to create physical tables. if the source appliation is EBS, is it still needed to create the physical tables?
    3) if the physical tables creation is needed, how to complete the data transfer from the EBS source tables to BIEE physical tables? which ETL tool is prefer for most developers? warehouse builder or Oracle Data Integration?
    4) During data transfer phase, if there are many many large volume data needs to transfer, how to keep the completeness? for example, it needs to transfer 1 million rows from source database to BIEE physical tables, when 50%is completed, the users try to open the BIEE report, can they see the new 50% data on the reports? is there some transaction control in ETL phase?
    could anyone give some guide for me? I'm very appreciated if you can also give any other information.
    Thanks in advance.

    1) generally, is the BIEE database and application server decentralized with EBS database and application? Both BIEE 10g and 11g version can be integrated with EBS R12?You, shud consider OBI Application here which uses OBIEE as a reporting tool with different pre-built modules. Both 10g & 11g comes with different versions of BI apps which supports sources like Siebel CRM, EBS, Peoplesoft, JD Edwards etc..
    2) In BIEE administrator tool, the first step is to create physical tables. if the source appliation is EBS, is it still needed to create the physical tables?Its independent of any soure. This is OBIEE modeling to create RPD with all the layers. If you build it from scratch then you will require to create all the layers else if BI Apps is used then you will get pre-built RPD along with other pre-built components.
    3) if the physical tables creation is needed, how to complete the data transfer from the EBS source tables to BIEE physical tables? which ETL tool is prefer for most developers? warehouse builder or Oracle Data Integration?BI apps comes with pre-built ETL mapping to use with the tools majorly with Informatica. Only BI Apps 7.9.5.2 comes with ODI but oracle has plans to have only ODI for any further releases.
    4) During data transfer phase, if there are many many large volume data needs to transfer, how to keep the completeness? for example, it needs to transfer 1 million rows from source database to BIEE physical tables, when 50%is completed, the users try to open the BIEE report, can they see the new 50% data on the reports? is there some transaction control in ETL phase?User will still see old data because its good to turn on Cache and purge it after every load.
    Refer..http://www.oracle.com/us/solutions/ent-performance-bi/bi-applications-066544.html
    and many more docs on google
    Hope this helps

  • Questions about CIN tax procedure choice and pricing schemas

    Hi all,
    I have to implement SAP on a Indian company and I'm verifying all particularity about this country (in particular tax procedures and the great number of differents tax conditions used).
    I have two questions about tax procedures and pricing schemas. Every feedback about thse points will be appreciated.
    a) To choose tax procedure TAXINN or TAXINJ which are the elements that I have to consider?
         I have read lot of documentation about CIN implementation and Iu2019m oriented to choose TAXINN schema, but If possible I  would  to understand better which are on behalf of one choice or another.
    b) To define pricing schemas for India, after check with local users and using examples of documents (in particular tax invoice) actually produced, I have understood that taxes have to be applied on amount defined starting from price list, minus discounts recognized to customer plus surcharges eventually to bill (packing, transport,  etc.).
    Itu2019s correct for any type of taxes that tax amount is calculated on u201Cnet valueu201D defined at item level or there are exceptions to this rule?
    Thanks in advance
    Gianpaolo

    hi,
    this is to inform you that,
    a) About point 1 I know the difference between the 2 tax procedures (conditions or formulas). I also have read in others post in the FORUM that TAXINN is preferable. So I would to understand which are the advantages to choose instead TAXINJ. There are particular reasons or it'a only an alternative customizing setting?
    a.a. for give for posting the link : plese give me the advantages of TAXINJ and TAXINN
    CIN - TAXINN and TAXINJ
    b) About point 2, to define which value has to be used as base amount to calculate taxes isn't a choice, but is defined depending by fiscal requirement of the country, in this case India fiscal requirement. I know that, as Lakshmipathi
    write as answer on my question, exception could be, but it was important for me to understand if I have understood correctly the sequence of the pricing condition in the schema in "normal" situation.
    b.b. you can create your own pricing procedure for this and go ahead.
    hope this clears your issue.
    balajia

  • Question about the notification center (Mails and Reminders)

    Hello together,
    I just started using Mountain Lion and now I have some few questions about the notification center.
    1. Is it possible to show all reminds in the notification center? I have a lot of reminds without an date / time and they don't appear in the notification center.
    2. Is it possible to show the last five Mails in the notification center? I'm just seeing new incoming mails, but I would prefer it, if I could see the last five mails
         (no matter if readed or unreaded).
    Thank you very much for you help.
    Ratte1988       
    Hallo zusammen,
    ich habe gerade damit begonnen Mountain Lion zu verweden und habe einige Fragen zur Mitteilungszentrale.
    1. Ist es möglich alle Erinnerungen in der Zentrale anzuzeigen? Ich habe viele Erinnerungen, die ohne Datum / Uhrzeit sind und in der Mitteilungszentrale
         daher nicht auftauchen.
    2. Ist es möglich, sich die letzten fünf Mails in der Zentrale anzeigen zu lassen? Ich sehe nur neue ungelesene Mails, würde es aber vorziehen die letzten
         fünf Mails sehen zu können (egal ob gelesen oder ungelesen.)
    Danke für eure Hilfe.
    Ratte1988

    Only reminders with dates appear in the notification center - undated ones don't. Once an email has been read, it is removed from the notification center. Apple has a feedback center where you can offer suggestions.

  • Some questions about javacard 2.1.1 and smartcardio

    Hello i have some question about java card 2.1.1 and the smartcardio package.
    1.) I want to sign a message with the Signature.ALG_RSA_SHA_PKCS1 algorithm. I use the following code in the applet to sign the message:
    final static byte P1_CREATION_MODE = (byte) 0x01;
    final static byte INS_SIGN_MODE = (byte) 0x60;
    final static byte SmartCard_CLA = (byte) 0xB0;
    private void signMessage(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            byte byteRead = (byte) (apdu.setIncomingAndReceive());
            signature.init(privateKey, Signature.MODE_SIGN);
            short length = signature.sign(buffer, ISO7816.OFFSET_CDATA, byteRead, buffer, (short) 0);
            apdu.setOutgoingLength((short) length);
            apdu.sendBytesLong(buffer, (short) ISO7816.OFFSET_CDATA, (short) length);
            apdu.setOutgoing();
        }On the host side I use the following code to connect to the card and to send the sign apdu:
    if (TerminalFactory.getDefault().terminals().list().size() == 0) {
                LOGGER.log(Level.SEVERE, "No reader present");
                throw new NoSuchCardReader();
            /* Select the first terminal*/
            CardTerminal terminal = TerminalFactory.getDefault().terminals().list().get(0);
            /* Is a card present? */
            if (!terminal.isCardPresent()) {
                LOGGER.log(Level.SEVERE, "No Card present!");
                throw new NoSuchCard();
            /* Set the card protocol */
         Card card = terminal.connect("*");
            ATR atr = card.getATR();
            LOGGER.fine(getHexString(atr.getBytes()));
            LOGGER.fine(getHexString(atr.getHistoricalBytes()));
            CardChannel channel = card.getBasicChannel();
            CommandAPDU cmd = new CommandAPDU((byte) 0xb0, (byte) 0x60, (byte) 0x01, (byte) 0x00, new String("datadatdatadata").getBytes(), (byte) 0x40);
         ResponseAPDU response = channel.transmit(cmd);
            card.disconnect(false);But this does not work and i got the following error
    javax.smartcardio.CardException: sun.security.smartcardio.PCSCException: Unknown error 0x8010002f
            at sun.security.smartcardio.ChannelImpl.doTransmit(ChannelImpl.java:202)
            at sun.security.smartcardio.ChannelImpl.transmit(ChannelImpl.java:73)
            at de.upb.client.smartmeter.SmartMeter.initSmartCardApplet(SmartMeter.java:114)
            at de.upb.client.smartmeter.SmartMeterApplikation.main(SmartMeterApplikation.java:39)
    Caused by: sun.security.smartcardio.PCSCException: Unknown error 0x8010002f
            at sun.security.smartcardio.PCSC.SCardTransmit(Native Method)
            at sun.security.smartcardio.ChannelImpl.doTransmit(ChannelImpl.java:171)
            ... 3 more2.) 3Des encryption
    I want to use the 3Des algorithm to encrypt my data. I use
    keyDES = (DESKey) KeyBuilder.buildKey(KeyBuilder.TYPE_DES,
                        KeyBuilder.LENGTH_DES3_2KEY, false);
    cipherDES = Cipher.getInstance(Cipher.ALG_DES_CBC_ISO9797_M2, false);But i do not know what is the aquivalent on the host side??
    3.) Another problem is that i am not able to send the modulus of a public key from the host applikation to the smard card
    new CommandAPDU((byte) 0xb0, (byte) 0x20, (byte) 0x01, (byte) 0x00, modulus.toByteArray()); // create the apdu
    // the method in the applet
    private void setServerKeyMod(APDU apdu) {
            byte[] buffer = apdu.getBuffer();
            try {
                byte byteRead = (byte) (apdu.setIncomingAndReceive());
                short off = ISO7816.OFFSET_CDATA;
                // strip of any integer padding
                if (buffer[off] == 0) {
                    off++;
                    byteRead--;
                publicKeyServer.setModulus(buffer, off, byteRead);
            } catch (APDUException ex) {
                ISOException.throwIt((short) (SW_APDU_EXCEPTION + ex.getReason()));
        }The error code is 6700
    4.) My last problem ist, that i am not able to use a value bigger than 0x7F as the ne field in the apducommand, because i get the following error
    CommandAPDU((byte) 0xb0, (byte) 0x60, (byte) 0x01, (byte) 0x00, data, (byte) 0xff);
    java.lang.IllegalArgumentException: ne must not be negative
            at javax.smartcardio.CommandAPDU.<init>(CommandAPDU.java:371)
            at javax.smartcardio.CommandAPDU.<init>(CommandAPDU.java:252)I thought that it this should be possible in order to use all the bytes of the response apdu.
    If you need more code to help please let me know.
    Cheers
    Edited by: 858145 on 06.07.2011 08:23

    2) What is PKCS? what is the difference between
    PKCS#11 and PKCS#15??PKCS is the abbreviation of "Public-Key Cryptography Standards"
    PKCS #11: Cryptographic Token Interface Standard
    See http://www.rsasecurity.com/rsalabs/node.asp?id=2133
    PKCS #15: Cryptographic Token Information Format Standard
    http://www.rsasecurity.com/rsalabs/node.asp?id=2141
    If you want to use yor smartcard as secure token it doesn't have to be a JavaCard.
    BTW: I don't remember a way to access PKCS#15 tokens on a JavaCard from within an oncard JavaCard program. If you want to use keys in your oncard program, you have to transfer it onto the card or generate it oncard and export the public key by your own oncard/offcard code.
    Jan

  • Question about bluetooth communication between PC and mobile device

    I am a newbie of bluetooth communication. This time I need to have connumication between PC and mobile device (mainly mobile phone) by sending strings. PC is acted as server and mobile device act as client.
    For using bluetooth in PC, I use bluecove 2.0.1
    I have already connected them successfully.
    When I want to send strings between them, it is found that it can only do one cycle of communication (client -> server -> client).
    For my design, they can communicate multiple times.
    I simulate the core class of the system, the performance is fine.
    Cound anyone help me to watch the code and give me some advices?
    Server Side - ServerBox.java
    public class ServerBox implements Runnable {
       LocalDevice localDevice;
       StreamConnectionNotifier notifier;
       ServiceRecord record;
       boolean isClosed;
       ClientProcessor processor;
       CMDProcessor cmd;
       MainInterface midlet;
       private static final UUID ECHO_SERVER_UUID = new UUID(
               "F0E0D0C0B0A000908070605040302010", false);
       public ServerBox(MainInterface midlet) {
           this.midlet = midlet;
       public void run() {
           boolean isBTReady = false;
           try {
               localDevice = LocalDevice.getLocalDevice();
               if (!localDevice.setDiscoverable(DiscoveryAgent.GIAC)) {
                   midlet.showInfo("Cannot set to discoverable");
                   return;
               // prepare a URL to create a notifier
               StringBuffer url = new StringBuffer("btspp://");
               url.append("localhost").append(':');
               url.append(ECHO_SERVER_UUID.toString());
               url.append(";name=Echo Server");
               url.append(";authorize=false");
               // create notifier now
               notifier = (StreamConnectionNotifier) Connector.open(url.toString());
               record = localDevice.getRecord(notifier);
               isBTReady = true;
           } catch (Exception e) {
               e.printStackTrace();
           // nothing to do if no bluetooth available
           if (isBTReady) {
               midlet.showInfo("Initalization complete. Waiting for connection");
               midlet.completeInitalization();
           } else {
               midlet.showInfo("Initalization fail. Exit.");
               return;
           // produce client processor
           processor = new ClientProcessor();
           cmd = new CMDProcessor();
           // start accepting connections then
           while (!isClosed) {
               StreamConnection conn = null;
               try {
                   conn = notifier.acceptAndOpen();
               } catch (IOException e) {
                   // wrong client or interrupted - continue anyway
                   continue;
               processor.addConnection(conn);
       // activate the set up of process
       public void publish() {
           isClosed = false;
           new Thread(this).start();
       // stop the service
       public void cancelService() {
           isClosed = true;
           midlet.showInfo("Service Terminate.");
           midlet.completeTermination();
       // inner private class for handling connection and activate connection handling
       private class ClientProcessor implements Runnable {
           private Thread processorThread;
           private Vector queue = new Vector();
           private boolean isOk = true;
           ClientProcessor() {
               processorThread = new Thread(this);
               processorThread.start();
           public void run() {
               while (!isClosed) {
                   synchronized (this) {
                       if (queue.size() == 0) {
                           try {
                               // wait for new client
                               wait();
                           } catch (InterruptedException e) { }
                   StreamConnection conn;
                   synchronized (this) {
                       if (isClosed) {
                           return;
                       conn = (StreamConnection) queue.firstElement();
                       queue.removeElementAt(0);
                       processConnection(conn);
           // add stream connection and notify the thread
           void addConnection(StreamConnection conn) {
               synchronized (this) {
                   queue.addElement(conn);
                   midlet.showInfo("A connection is added.");
                   notify();    // for wait() command in run()
       // receive string
       private String readInputString(StreamConnection conn) {
           String inputString = null;
           try {
               DataInputStream dis = conn.openDataInputStream();
               inputString = dis.readUTF();
               dis.close();
           } catch (Exception e) {
               e.printStackTrace();
           return inputString;
       private void sendOutputData(String outputData, StreamConnection conn) {
           try {
               DataOutputStream dos = conn.openDataOutputStream();
               dos.writeUTF(outputData);
               dos.close();
           } catch (IOException e) {
       // process connecion
       private void processConnection(StreamConnection conn) {
           String inputString = readInputString(conn);
           String outputString = cmd.reactionToCMD(inputString);
           sendOutputData(outputString, conn);
    /*       try {
               conn.close();
           } catch (IOException e) {}*/
           midlet.showInfo("Client input: " + inputString + ", successfully received.");
    }For "CMDProcessor" , it is the class of message processing before feedback to client.
    Client side - ClientBox.java
    public class ClientBox implements Runnable, CommandListener{
        StringItem result = new StringItem("","");
        private DiscoveryAgent discoveryAgent;
        private String connString;
        private boolean isClosed = false;
        private boolean boxReady = false;
        StreamConnection conn;
        private static final UUID ECHO_SERVER_UUID = new UUID( "F0E0D0C0B0A000908070605040302010", false);
        Form process = new Form("Process");
        ClientInterface midlet;
        public ClientBox(ClientInterface mid){
            this.midlet = mid;
            process.append(result);
            process.addCommand(new Command("Cancel",Command.CANCEL,1));
            process.setCommandListener(this);
            new Thread(this).start();
        public void commandAction(Command arg0, Displayable arg1) {    
            if(arg0.getCommandType()==Command.CANCEL){
                isClosed = true;
                midlet.notifyDestroyed();
        public synchronized void run() {
            LocalDevice localDevice = null;
            boolean isBTReady = false;
            /* Process Gauge screen */
            midlet.displayPage(process);
            Gauge g=new Gauge(null,false,Gauge.INDEFINITE,Gauge.CONTINUOUS_RUNNING);
            process.append(g);
            showInfo("Initalization...");
            System.gc();
            try {
                localDevice = LocalDevice.getLocalDevice();
                discoveryAgent = localDevice.getDiscoveryAgent();
                isBTReady = true;
            } catch (Exception e) {
                e.printStackTrace();
            if (!isBTReady) {
                showInfo("Bluetooth is not avaliable. Please check the device.");
                return;
            if(!isClosed){
                try {
                    connString = discoveryAgent.selectService(ECHO_SERVER_UUID, ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);
                } catch (BluetoothStateException ex) {
                    ex.printStackTrace();
            else return;
            if (connString == null) {
                showInfo("Cannot Find Server. Please check the device.");
                return;
            else showInfo("Can Find Server, stand by for request.");
            boxReady = true;
        /* True if the clientbox is ready */
        public boolean getBoxReady(){
            return boxReady;
        /* True if the clientbox is closed in run() */
        public boolean getIsClosed(){
            return isClosed;
        public String accessService(String input) {
            String output = null;
            try {
                /* Connect to server */
                StreamConnection conn = (StreamConnection) Connector.open(connString);
                /* send string */
                DataOutputStream dos = conn.openDataOutputStream();
                dos.writeUTF(input);
                dos.close();
                /* receive string */
                DataInputStream dis = conn.openDataInputStream();
                output = dis.readUTF();
                dis.close();
            } catch (IOException ex){
                showInfo("Fail connect to connect to server.");
            return output;
        private void showInfo(String s){
            StringBuffer sb=new StringBuffer(result.getText());
            if(sb.length()>0){ sb.append("\n"); }
            sb.append(s);
            result.setText(sb.toString());
    }Client side - ClientInterface.java
    public class ClientInterface extends MIDlet implements Runnable, CommandListener{
        private ClientBox cb = new ClientBox(this);
        private Form temp = new Form("Temp");
        private Command select = new Command("Select", Command.OK, 1);
        private Command back = new Command("Back", Command.BACK, 1);
        Alert alert;
        String[] element;
        String out;
        List list;
        public void run(){
            /* Send message and get reply */
            out = cb.accessService("Proglist");
            element = split(out,",");
            /* Use the reply to make list */
            list = createList(element[0], List.IMPLICIT, out);
            list.addCommand(select);
            list.addCommand(back);
            list.setCommandListener(this);
            Display.getDisplay(this).setCurrent(list);
        public void startApp() {
            System.gc();
            waitForBoxSetUp(); /* Recursively check for clientbox status */
            new Thread(this).start();
        public void pauseApp() {
        public void destroyApp(boolean unconditional) {
            notifyDestroyed();
        public void displayPage(Displayable d){
            Display.getDisplay(this).setCurrent(d);
        private void waitForBoxSetUp(){
            while(!cb.getBoxReady()){
                if(cb.getIsClosed())
                    notifyDestroyed();
        public void commandAction(Command c, Displayable d){
            if (c.getCommandType() == Command.OK){
                if (d == list){
                    /* Send the choice to server */
                    out = cb.accessService(list.getString(list.getSelectedIndex()));
                    alert = new Alert("Output", "selected = "+out, null, AlertType.ALARM);
                    alert.setTimeout(2000);
                    Display.getDisplay(this).setCurrent(alert,list);
            if (c.getCommandType() == Command.BACK){
                notifyDestroyed();
        public void showWarning(String title, String content){
            alert = new Alert("Output", "selected = "+list.getString(list.getSelectedIndex()), null, AlertType.ALARM);
            alert.setTimeout(3000);
            Display.getDisplay(this).setCurrent(alert,list);
        private List createList(String name, int type, String message){
            List temp;
            String[] source = split(message,",") ;
            temp = new List(name, type, source, null);
            return temp;
        private static String[] split(String original,String regex)
            int startIndex = 0;
            Vector v = new Vector();
            String[] str = null;
            int index = 0;
            startIndex = original.indexOf(regex);
            while(startIndex < original.length() && startIndex != -1)
                String temp = original.substring(index,startIndex);
                v.addElement(temp);
                index = startIndex + regex.length();
                startIndex = original.indexOf(regex,startIndex + regex.length());
            v.addElement(original.substring(index + 1 - regex.length()));
            str = new String[v.size()];
            for(int i=0;i<v.size();i++)
                str[i] = (String)v.elementAt(i);
            return str;
    }

    i haven't worked with devices but only with the toolkit emulators;
    it definitely is possible...
    u have to send the image as a bytestream and receive the image at the jsp end...
    and then reconstruct the image.
    the Stream classes in J2ME AND J2SE are all u will require.
    also the Image class.
    i have not done this but i have successfully sent an image frm a jsp and displayed it on the emulator.

  • A question about CREATE PUBLIC DATABASE LINK and ORA-12154 error

    Dear all,
    I have a problem about public database link creation and I would appreciate if you could kindly give me a hand. I have the following connection parameters in my
    tnsnames.ora file:
    DGPAPROD.WORLD =
         (DESCRIPTION =
           (ADDRESS_LIST =
            (ADDRESS = (COMMUNITY=tcp.world)
              (PROTOCOL=TCP)(HOST=ORASR001)(PORT=1521)
           (CONNECT_DATA = (SID = DGPAPROD))
    ...Having the above mentioned parameters I can connect to this remote database directly in a SQL*Plus shell:
    $ sqlplus username/[email protected] works pretty well and the connection is established without any problem.
    Now, what I would like to do is to create a public database link to this remote database in order to avoid the user/connection switching for viewing the
    content of this database. I proceeded according to the syntax indicated in the Oracle online documentation:
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_5005.htm#SQLRF01205
    Therefore I run the following in order to create a public database link
    CREATE PUBLIC DATABASE LINK SR001_dblink CONNECT TO user IDENTIFIED BY password USING 'DGPAPROD.WORLD';Apparently there is no error and the link is created successfully. However it cannot resolve the remote host and whenever I run the following query
    (myenterprise is the name of a table in that remote database)
    SELECT *
    FROM myenterprise@SR001_dblink
    ERROR at line 1:
    ORA-12154: TNS:could not resolve the connect identifier specifiedWhat causes this problem?
    Thanks in advance,
    Kind Regards,
    Dariyoosh

    spajdy wrote:
    You must have defined DGPAPROD.WORLD in tnsnames.oar on server where you DB is runnig.Hello there,
    Thanks a lot for this nice solution. In fact I had to add the connection parameters into the tnsnames.ora file of the server on which the link was created (not the tnsnames.ora of my oracle client stored on the localhost)
    After a bit googling I found another solution that allows to create the database link:
    CREATE PUBLIC DATABASE LINK SR001_dblink CONNECT TO user IDENTIFIED BY password USING '(DESCRIPTION =  (ADDRESS_LIST =  (ADDRESS = (COMMUNITY=tcp.world)
    (PROTOCOL=TCP)(HOST=ip_adresse)(PORT=1521)))(CONNECT_DATA = (SID = GPAPROD)))';Thanks a lot for your help!
    Kind Regards,
    Dariyoosh
    Edited by: dariyoosh on 18 nov. 2009 07:15

Maybe you are looking for