"Tiger" vs "Leopard" that is the question...

Currently I'm using a OS X (10.3.9) "Panther" on my 733 Mhz Power PC G4 "QuickSilver" with 1.5 GB of SDRAM and of late I've been thinking of jumping to "Tiger" - better later than never! It's used for both home and my small business.
But with "Leopard" just around the block and coming on strong wouldn't it better to hold off and then for go for "Leopard"?

Not necessarily. If you're happy with Panther and you haven't made the switch to Tiger, unless there's some compelling features that you must have in Leopard, there'd be no good reason to switch.
Aside from that, Leopard will not ship until sometime next year, probably after the first quarter, so that's 9 months away. Until they do release it, we won't have a complete feature list, or even minimum hardware requirements.
Just because something is new, doesn't mean you need it.
Mulder
If my answer helped solve your problem, please consider awarding some points. Why Reward Points?
iMac G4 700Mhz   Mac OS X (10.3.9)  

Similar Messages

  • Lion or Snow Leopard - that is the question

    We have an Imac that is just over a year old.  We are trying to decide whether to switch to Lion from Snow Leopard.
    We have an ipod, ipad and we just got two new iphone 4s.  I think my main reason for switching will be to use the new features of the iphone 4s.  I have not seen too much positively written about the lion os. 
    Does anyone know where i can go to see reviews on lion othere than these forums?

    Here's a start for you:
    http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars
    To get more, just type "os x lion reviews" in google and get all you want.
    I didn't bother with reviews myself. I just made a clone of my Snow Leopard startup disk and went ahead and purchased and installed Lion just after it came out. To me, the best review is how the OS works for me, not what others say about it. By cloning my main drive and going ahead with the installation, I can safely try it out for myself. I've been using it for quite some time now and personally I do like most of the new features. There are some that I don't use but that's the case with all OSs I've had  for the last 25 years on Macs.
    So my advice is give it a try after you've backed up your stuff. $30 is not much to risk if you don't like it compared to what the earlier systems have cost. BTW, reading these forums is very useful but remember you are reading mostly posts from people who have had problems. The majority of users probably don't have these problems. And DO notice that the loudest protests are coming from those that have NOT taken the precaution to back up their SL stuff first. Not very wise.
    Rick

  • I have a new iPod and now I can't buy something on it ,because of the safety questions. I have not the answers. I can't remember that answer the questions.

    I have a new iPod and now I can't buy something on it ,because of the safety questions. I have not the answers. I can't remember that answer the questions.

    Frequently asked questions about Apple ID - http://support.apple.com/kb/HE37 --> Can I change the answers to the security questions for my Apple ID?  --> Yes. You can change the answers to the security questions provided when you originally signed up for your Apple ID. Go to My Apple ID (http://appleid.apple.com/) and click Manage your account.
    Forgotten security questions - https://discussions.apple.com/message/18402551  and https://discussions.apple.com/message/18625296
    More involved forgotten question issues - https://discussions.apple.com/thread/3961813
    Kappy 09/2012 post about security questions - https://discussions.apple.com/message/19569468
    John Galt's tips (09&11/2012) - https://discussions.apple.com/message/19809294 and https://discussions.apple.com/message/20229239
    If none of the above work, contact iTunes Support at http://www.apple.com/support/itunes/contact/ and follow the instructions to report the issue to the iTunes Store.

  • Ok i have been trying to download albums, songs, apps, etc. and my itunes keeps asking me for the security question and for the life of me i cant remember the answers. I dont know what the email is that receives the question reset.

    ok i have been trying to download albums, songs, apps, etc. and my itunes keeps asking me for the security question and for the life of me i cant remember the answers. I dont know what the email is that receives the question reset. is there anything i can do to fix this or am i screwed?

    If you have music that was purchased on different iTunes accounts than the one you use, then you must provide the password, otherwise the tunes are not considered yours.  You can turn off iCloud and just use the usual USB sync method.  But I wonder whether you'll have the same problem?

  • HD Upper or lower interlace or not that is the question

    Ok Im a bit confused and cannot seem to get a straight direction on this. I shoot in 30fps 1080i, I capture in HD via firewire, I edit and when outputting for regular DVDs do I encode UPPER FIELD first since the source media is HD or LOWER FIELD first because it is doing to DV.
    When encoding with Media Encoder should I check the deinterlace button when encoding HD for a DV project going to encore or not check it...that is the question.
    Where is my Commedore 64 when I need it?

    Choose the correct field order for your
    export format when exporting, in this case DV.
    Choose progressive/interlaced depending on your export format when exporting. Since DV is interlaced, do not de-interlace.
    Who needs a Commodore 64 when you have a Vic 20! ;)
    Cheers
    Eddie
    PremiereProPedia   (
    RSS feed)
    - Over 300 frequently answered questions
    - Over 250 free tutorials
    - Maintained by editors like
    you
    Forum FAQ

  • New processor(s) or new iMac ? that is the question...

    Hi everyone,
    My Dad is getting more and more kind of impatient at the slow running speed of the old Single processor base model Quick Silver G4 I gave him after I bought my MacPro. It does run OK and I upgraded its HD capacity to 150 GB and 40 GB, with 1.25 GB RAM, but it does run slow compared to today's computers.
    He uses it mainly for Internet browsing and stocking our family's vast photo collection in iPhoto and printing out photo collection with a personnal home printer system.
    Loading up iPhoto does taking some time and browsing and editing between Albums and photos can be lengthy at times while waiting for the beachball of death do run its course.
    The Milion dollar questions are:
    1) Is it worth it, in this day and age, to upgrade its single processor to a dual processor or save up that money for a new iMac in a few years?
    2) If I do upgrade its processor, do I need to upgrade other parts too ? that could become costly as well...worth it ?
    3) Would upgrading to a Double processor allow that much more speed and will it allow me to install Leopard or Snow Leopard because at the moment its stuck at Tiger?
    Opinions and comments ?!?

    1) Is it worth it, in this day and age, to upgrade its single processor to a dual processor or save up that money for a new iMac in a few years?
    The rule of thumb is it is almost always cheaper to buy a newer used machine than to upgrade the processor. Possible exceptions if you can get the processor extra cheap, etc.
    2) If I do upgrade its processor, do I need to upgrade other parts too ? that could become costly as well...worth it ?
    You've already done two of the big ones, the drive and the RAM.
    3) Would upgrading to a Double processor allow that much more speed and will it allow me to install Leopard or Snow Leopard because at the moment its stuck at Tiger?
    You don't say exactly which model Quicksilver this is. Still, no G4 can run Snow Leopard which requires Intel processors which won't fit in a G4. Leopard, yes, assuming you have the RAM and processor speed.
    Opinions and comments ?!?
    I don't know how far you can push it on the funds side. Put it this way, any PPC generation Mac is fast reaching the age of almost total non-support. Leopard is already one generation old and once you reach two generations, as Tiger just did, support really drops off. This is exacerbated by the advent of Intel Macs. As you see, Apple's new OS only runs on Intel Macs and many software developers are turning their backs on PPCs. What I'm saying is that you may want to reconsider tossing a couple of hundred on a processor upgrade for a computer that will still be markedly behind when you finish your upgrades. A few years ago when Leopard came out and PPCs were still young, if you had Panther and wanted Leopard you could toss in a faster processor and be running the newest OS on an old machine with not too many noticeable disadvantages vs. a newer machine. There's no way you're going to emulate that by putting a faster processor in a G4 unless you're content with still having limitations at the end of it all.
    If at all possible try to get at least an Intel Mac of some variety and then you'll at least be able to run the newer OS versions.

  • Buy or not to buy? that is the question !!

    I have a powerbook already and I love macs, I being thinking about buying an iMac to have at home and enjoy the sweetness of the dual core intel processors but when I start reading "rumors" web pages I came down to the question of if it was the proper moment to buy an iMac or not, I mean, we have "Leopard" stepping at our doors an there are rumors about it coming on the end of march or beginnings of April, and possibly the computers may update then too, so should I buy it now? I don't mind to wait a little time to get some thing better like leopard or a little more of ram or video memory, what should I do?

    Hi Kornfobic
    Elmac is right as far as I am concerned. I just bought this iMac about three weeks ago knowing that I'll probably have to pay extra for Leopard whenever it comes out. I don't for a minute regret getting the iMac now instead of waiting. It is SOOOO much better than the old G4 I had. I am having a real ball working with it and, as a sort of bonus, when Leopard actually does come out I will no doubt upgrade and enjoy yet again all the new features as if I had just purchased yet another iMac.
    Go for it.
    Rick

  • To RAID or not to RAID, that is the question

    People often ask: Should I raid my disks?
    The question is simple, unfortunately the answer is not. So here I'm going to give you another guide to help you decide when a raid array is advantageous and how to go about it. Notice that this guide also applies to SSD's, with the expection of the parts about mechanical failure.
     What is a RAID?
     RAID is the acronym for "Redundant Array of Inexpensive Disks". The concept originated at the University of Berkely in 1987 and was intended to create large storage capacity with smaller disks without the need for very expensive and reliable disks, that were very expensive at that time, often a tenfold of smaller disks. Today prices of hard disks have fallen so much that it often is more attractive to buy a single 1 TB disk than two 500 GB disks. That is the reason that today RAID is often described as "Redundant Array of Independent Disks".
    The idea behind RAID is to have a number of disks co-operate in such a way that it looks like one big disk. Note that 'Spanning' is not in any way comparable to RAID, it is just a way, like inverse partitioning, to extend the base partition to use multiple disks, without changing the method of reading and writing to that extended partition.
     Why use a RAID?
     Now with these lower disks prices today, why would a video editor consider a raid array? There are two reasons:
    1. Redundancy (or security)
    2. Performance
    Notice that it can be a combination of both reasons, it is not an 'either/or' reason.
     Does a video editor need RAID?
    No, if the above two reasons, redundancy and performance are not relevant. Yes if either or both reasons are relevant.
    Re 1. Redundancy
    Every mechanical disk will eventually fail, sometimes on the first day of use, sometimes only after several years of usage. When that happens, all data on that disk are lost and the only solution is to get a new disk and recreate the data from a backup (if you have one) or through tedious and time-consuming work. If that does not bother you and you can spare the time to recreate the data that were lost, then redundancy is not an issue for you. Keep in mind that disk failures often occur at inconvenient moments, on a weekend when the shops are closed and you can't get a replacement disk, or when you have a tight deadline.
    Re 2. Performance
    Opponents of RAID will often say that any modern disk is fast enough for video editing and they are right, but only to a certain extent. As fill rates of disks go up, performance goes down, sometimes by 50%. As the number of disk activities on the disk go up , like accessing (reading or writing) pagefile, media cache, previews, media, project file, output file, performance goes down the drain. The more tracks you have in your project, the more strain is put on your disk. 10 tracks require 10 times the bandwidth of a single track. The more applications you have open, the more your pagefile is used. This is especially apparent on systems with limited memory.
    The following chart shows how fill rates on a single disk will impact performance:
    Remember that I said previously the idea behind RAID is to have a number of disks co-operate in such a way that it looks like one big disk. That means a RAID will not fill up as fast as a single disk and not experience the same performance degradation.
    RAID basics
     Now that we have established the reasons why people may consider RAID, let's have a look at some of the basics.
    Single or Multiple? 
    There are three methods to configure a RAID array: mirroring, striping and parity check. These are called levels and levels are subdivided in single or multiple levels, depending on the method used. A single level RAID0 is striping only and a multiple level RAID15 is a combination of mirroring (1) and parity check (5). Multiple levels are designated by combining two single levels, like a multiple RAID10, which is a combination of single level RAID0 with a single level RAID1.
    Hardware or Software? 
    The difference is quite simple: hardware RAID controllers have their own processor and usually their own cache. Software RAID controllers use the CPU and the RAM on the motherboard. Hardware controllers are faster but also more expensive. For RAID levels without parity check like Raid0, Raid1 and Raid10 software controllers are quite good with a fast PC.
    The common Promise and Highpoint cards are all software controllers that (mis)use the CPU and RAM memory. Real hardware RAID controllers all use their own IOP (I/O Processor) and cache (ever wondered why these hardware controllers are expensive?).
    There are two kinds of software RAID's. One is controlled by the BIOS/drivers (like Promise/Highpoint) and the other is solely OS dependent. The first kind can be booted from, the second one can only be accessed after the OS has started. In performance terms they do not differ significantly.
    For the technically inclined: Cluster size, Block size and Chunk size
     In short: Cluster size applies to the partition and Block or Stripe size applies to the array.
    With a cluster size of 4 KB, data are distributed across the partition in 4 KB parts. Suppose you have a 10 KB file, three full clusters will be occupied: 4 KB - 4 KB - 2 KB. The remaining 2 KB is called slackspace and can not be used by other files. With a block size (stripe) of 64 KB, data are distributed across the array disks in 64 KB parts. Suppose you have a 200 KB file, the first part of 64 KB is located on disk A, the second 64 KB is located on disk B, the third 64 KB is located on disk C and the remaining 8 KB on disk D. Here there is no slackspace, because the block size is subdivided into clusters. When working with audio/video material a large block size is faster than smaller block size. Working with smaller files a smaller block size is preferred.
    Sometimes you have an option to set 'Chunk size', depending on the controller. It is the minimal size of a data request from the controller to a disk in the array and only useful when striping is used. Suppose you have a block size of 16 KB and you want to read a 1 MB file. The controller needs to read 64 times a block of 16 KB. With a chunk size of 32 KB the first two blocks will be read from the first disk, the next two blocks from the next disk, and so on. If the chunk size is 128 KB. the first 8 blocks will be read from the first disk, the next 8 block from the second disk, etcetera. Smaller chunks are advisable with smaller filer, larger chunks are better for larger (audio/video) files.
    RAID Levels
     For a full explanation of various RAID levels, look here: http://www.acnc.com/04_01_00/html
    What are the benefits of each RAID level for video editing and what are the risks and benefits of each level to help you achieve better redundancy and/or better performance? I will try to summarize them below.
    RAID0
     The Band AID of RAID. There is no redundancy! There is a risk of losing all data that is a multiplier of the number of disks in the array. A 2 disk array carries twice the risk over a single disk, a X disk array carries X times the risk of losing it all.
    A RAID0 is perfectly OK for data that you will not worry about if you lose them. Like pagefile, media cache, previews or rendered files. It may be a hassle if you have media files on it, because it requires recapturing, but not the end-of-the-world. It will be disastrous for project files.
    Performance wise a RAID0 is almost X times as fast as a single disk, X being the number of disks in the array.
    RAID1
     The RAID level for the paranoid. It gives no performance gain whatsoever. It gives you redundancy, at the cost of a disk. If you are meticulous about backups and make them all the time, RAID1 may be a better solution, because you can never forget to make a backup, you can restore instantly. Remember backups require a disk as well. This RAID1 level can only be advised for the C drive IMO if you do not have any trust in the reliability of modern-day disks. It is of no use for video editing.
    RAID3
    The RAID level for video editors. There is redundancy! There is only a small performance hit when rebuilding an array after a disk failure due to the dedicated parity disk. There is quite a perfomance gain achieveable, but the drawback is that it requires a hardware controller from Areca. You could do worse, but apart from it being the Rolls-Royce amongst the hardware controllers, it is expensive like the car.
    Performance wise it will achieve around 85% (X-1) on reads and 60% (X-1) on writes over a single disk with X being the number of disks in the array. So with a 6 disk array in RAID3, you get around 0.85x (6-1) = 425% the performance of a single disk on reads and 300% on writes.
    RAID5 & RAID6
     The RAID level for non-video applications with distributed parity. This makes for a somewhat severe hit in performance in case of a disk failure. The double parity in RAID6 makes it ideal for NAS applications.
    The performance gain is slightly lower than with a RAID3. RAID6 requires a dedicated hardware controller, RAID5 can be run on a software controller but the CPU overhead negates to a large extent the performance gain.
    RAID10
     The RAID level for paranoids in a hurry. It delivers the same redundancy as RAID 1, but since it is a multilevel RAID, combined with a RAID0, delivers twice the performance of a single disk at four times the cost, apart from the controller. The main advantage is that you can have two disk failures at the same time without losing data, but what are the chances of that happening?
    RAID30, 50 & 60
     Just striped arrays of RAID 3, 5 or 6 which doubles the speed while keeping redundancy at the same level.
    EXTRAS
     RAID level 0 is striping, RAID level 1 is mirroring and RAID levels 3, 5 & 6 are parity check methods. For parity check methods, dedicated controllers offer the possibility of defining a hot-spare disk. A hot-spare disk is an extra disk that does not belong to the array, but is instantly available to take over from a failed disk in the array. Suppose you have a 6 disk RAID3 array with a single hot-spare disk and assume one disk fails. What happens? The data on the failed disk can be reconstructed in the background, while you keep working with negligeable impact on performance, to the hot-spare. In mere minutes your system is back at the performance level you were before the disk failure. Sometime later you take out the failed drive, replace it for a new drive and define that as the new hot-spare.
    As stated earlier, dedicated hardware controllers use their own IOP and their own cache instead of using the memory on the mobo. The larger the cache on the controller, the better the performance, but the main benefits of cache memory are when handling random R+W activities. For sequential activities, like with video editing it does not pay to use more than 2 GB of cache maximum.
    REDUNDANCY(or security)
    Not using RAID entails the risk of a drive failing and losing all data. The same applies to using RAID0 (or better said AID0), only multiplied by the number of disks in the array.
    RAID1 or 10 overcomes that risk by offering a mirror, an instant backup in case of failure at high cost.
    RAID3, 5 or 6 offers protection for disk failure by reconstructing the lost data in the background (1 disk for RAID3 & 5, 2 disks for RAID6) while continuing your work. This is even enhanced by the use of hot-spares (a double assurance).
    PERFORMANCE
     RAID0 offers the best performance increase over a single disk, followed by RAID3, then RAID5 amd finally RAID6. RAID1 does not offer any performance increase.
    Hardware RAID controllers offer the best performance and the best options (like adjustable block/stripe size and hot-spares), but they are costly.
     SUMMARY
     If you only have 3 or 4 disks in total, forget about RAID. Set them up as individual disks, or the better alternative, get more disks for better redundancy and better performance. What does it cost today to buy an extra disk when compared to the downtime you have when a single disk fails?
    If you have room for at least 4 or more disks, apart from the OS disk, consider a RAID3 if you have an Areca controller, otherwise consider a RAID5.
    If you have even more disks, consider a multilevel array by striping a parity check array to form a RAID30, 50 or 60.
    If you can afford the investment get an Areca controller with battery backup module (BBM) and 2 GB of cache. Avoid as much as possible the use of software raids, especially under Windows if you can.
    RAID, if properly configured will give you added redundancy (or security) to protect you from disk failure while you can continue working and will give you increased performance.
    Look carefully at this chart to see what a properly configured RAID can do to performance and compare it to the earlier single disk chart to see the performance difference, while taking into consideration that you can have one disks (in each array) fail at the same time without data loss:
    Hope this helps in deciding whether RAID is worthwhile for you.
    WARNING: If you have a power outage without a UPS, all bets are off.
    A power outage can destroy the contents of all your disks if you don't have a proper UPS. A BBM may not be sufficient to help in that case.

    Harm,
    thanks for your comment.
    Your understanding  was absolutely right.
    Sorry my mistake its QNAP 639 PRO, populated with 5 1TB, one is empty.
    So for my understanding, in my configuration you suggest NOT to use RAID-0. Im not willing to have more drives in my workstation becouse if my projekts are finished, i archiv on QNAP or archiv on other external drive.
    My only intention is to have as much speed and as much performance as possible during developing a projekt 
    BTW QNAP i also use as media-center in combination with Sony PS3 to run the encoded files.
    For my final understanding:
    C:  i understand
    D: i understand
    E and F: does it mean, when i create a projekt on E, all my captured and project-used MPEG - files should be situated in F?  Or which media in F you mean?
    Following your suggestions in want to rebulid Harms-Best Vista64-Benchmark comp to reach maximum speed and performance. Can i use in general the those hardware components (exept so many HD drives and exept Areca raid controller ) in my drive configuration C to F. Or would you suggest some changings in my situation?

  • To backup or not to backup...that is the question

    ok, of course we should all back up regularly, that's not really the question. I'm wondering specifically what the benefits are of backing up the OS if you have your original install discs.
    My understanding is that if your system crashes, you want to be able to boot up your system from another copy of the OS. If you have the disc, no need to back up to an external right?
    Of course I've backed up my user folder but I just want to make sure I'm not risking anything by not having another copy of my OS on the external as well.
    Thanks in advance!

    1. Kevin wrote: "What's the difference between a Backup Set and duplicating a volume in a folder?"The differences between Duplicates and Backup Sets are discussed in my "Backup and Recovery" FAQ.
    Basically:
    - Backup Sets save all the files one has backed up in a single file, similar to a disk image, but without all the time required to create a disk image. A Catalog file of the contents of the Backup Set is also created. One accesses the contents of a Backup Set through the Restore function of Retrospect. So, the files in the Backup Set aren't "in the clear" i.e. you can't simply copy them from the Backup Set in Finder. Backup Sets can also be compressed and encrypted. Duplicates cannot.
    - As noted in my prior post, a Duplicate to a folder permits you to to access the files you've backed up via Finder. The volume you've Duplicated to the folder is copied to the folder, just as if it was copied to another volume, but isn't bootable (assuming the volume you duplicated was bootable) since you can't boot from a folder.
    2. You wrote: "In SuperDuper! you can create a disk image with Disk Utility and clone to that disk image and, I think you can boot from the disk image as well. A partition is better but the disk image is good in a pinch."Yes, with SD you can duplicate to a sparse image, but you can't boot from that image. It will work in a pinch, but not every basic backup app supports this function.
    It's also unclear (not addressed specifically in the SD documentation) if you can Smart Update a backup to a Sparse Image: I suspect not. Sparse images are tricky. For example, deleting files from them does not recover the space the files occupied: one has to use hdiutil compact to recover the space occupied by deleted files in a sparse image. The compact operation is what FileVault is doing when it periodically prompts users to recover space from their encrypted Home folders.
    Backup Sets can be updated incrementally: new or changed files can be added to the Backup Set. Each incremental backup to a Backup Set is known as a session. This can be a useful feature since it does not replace the originals from previous backups. This has some nice attributes:
    - If you regularly backup to a Backup Set and want to get an earlier version of a file you've been working on that has been regularly backed up to a Backup Set, you can restore a prior version of that file from the Backup Set. If you Smart Update a duplicate in SD, no old versions are saved.
    - Likewise, if you trash a file, empty the trash, and use SD Smart Update to backup the volume on which that file resided, the file is gone from the backup and your hard drive. If you've regularly backed up that volume to a Retrospect Backup Set, you can restore that file — in the state it was in at any prior time it was backed up to that Backup Set — from the Backup Set.
    The Restore function of Retrospect lets you access the individual sessions (incremental backups) saved in a Backup Set. You can restore one or more files or folders —  or an entire disk — to any point in time within the time span of the sessions in the Backup Set. This is very useful in project-based work, where one may have many versions of documents and need a copy of an earlier version of some project file that was either updated (without first saving a copy) or trashed.
    So, SD's sparse image capability is good in a pinch, but not as flexible or versatile as Retrospect's Backup Sets.
    I'm a big fan of Backup Sets.
    Good luck!
    Dr. Smoke
    Author: Troubleshooting Mac® OS X
    Note: The information provided in the link(s) above is freely available. However, because I own The X Lab™, a commercial Web site to which some of these links point, the Apple Discussions Terms of Use require I include the following disclosure statement with this post:
    I may receive some form of compensation, financial or otherwise, from my recommendation or link.

  • To EAR or not to EAR? That is the question.

    Ok, I'm near the tail-end of a long upgrade process from 5.1 to 6.1,
    and man,
    were there some major bumps to get over. And the thing is... a good
    number
    of the problems were dealing with the new J2EE packaging specs, i.e.
    EAR,
    WAR files.
    First, I had a heck of a time getting Apache SOAP to integrate with
    6.1 correctly. Classloader/classpath issues. I couldn't find any way
    to solve my
    problems other than putting the soap.jar INTO my EAR file (which I
    don't like)
    seperate from my SOAP WAR file (which was also in the EAR). Then
    define
    a manifest file that pointed the files in the SOAP WAR outside of
    itself
    to the SOAP JAR file in my EAR. See... If the JAR was inside the WAR
    it wasn't
    able to access any of my beans... and outside the WAR, the files in
    the WAR couldn't get to the JAR.
    Second, we use Toplink. And in one case, we actually serialize an
    object to
    the database using Toplink (not always a good idea, but made sense
    here). Now,
    in pre-EAR 5.1 days, this was all fine and good. But with the EAR,
    all hell
    seem to break loose. Essentially, Toplink... being part of the App's
    container
    environment is independent of the whole EAR classloader stuff. You
    NEED the
    Toplink JAR files in the system classpath (not inside the EAR), which
    is fine and what I would want. However, when you deserialize the
    object and Toplink
    needs a reference to the class it's being deserialized into... well,
    being
    outside the EAR... you have to put that class reference in the system
    class
    path. And of course, that class has dependencies on a number of other
    classes
    in the system (including, eventually an EJB or 2)... and well, we
    almost
    ended up having to put a whole thing outside of the EAR and back into
    the
    system classpath again. But I was able to modularize some things a
    little
    more, and package what I needed into a jar file and put that on the
    system
    classpath without affecting the deployment of EJBs in the EAr.
    Third, I'm having problems getting my JMS to access a listener class
    inside
    the EAR. I haven't fully confirmed this... but from what I've read,
    this
    seems like a similar problem as described above. And, you need to
    somehow
    get that in your classpath. Of course, dependency-wise, that WILL be
    pulling
    in some of the EJBs.... and now, I have a couple of my EJBs back in
    the
    classpath... UGH!!! Well, eventually, I'll refactor this stuff into
    message
    driven beans, and I can then supposedly get out of this whole. But,
    for
    the time being... that's where this is.
    So... with all this in mind... my real question is this???
    What really is the benefit to EAR'ing other than supposedly making
    your packaging of things cleaner AND the ability to port your
    application to other
    app servers easily. Cause, though the first reason is nice... it's
    not
    essential. And as far as the second reason goes... I don't see that
    changing
    anytime soon. It just seems that every problem I get is related to
    this
    stuff, and it's very annoying. And I'm not sure what I REALLY get
    from the
    EAR that's worth all the pain??
    -Michael J. Hudson
    [email protected]

    As far as I know, one of the main advantages of ear files is that WLS can
    undeploy applications in a clean manner. This can give you the
    possibility of having hot upgrades on a production system amongst other
    things.
    Stephane Vaucher
    Research professional
    CIRANO
    "Michael J. Hudson" wrote:
    Ok, I'm near the tail-end of a long upgrade process from 5.1 to 6.1,
    and man,
    were there some major bumps to get over. And the thing is... a good
    number
    of the problems were dealing with the new J2EE packaging specs, i.e.
    EAR,
    WAR files.
    First, I had a heck of a time getting Apache SOAP to integrate with
    6.1 correctly. Classloader/classpath issues. I couldn't find any way
    to solve my
    problems other than putting the soap.jar INTO my EAR file (which I
    don't like)
    seperate from my SOAP WAR file (which was also in the EAR). Then
    define
    a manifest file that pointed the files in the SOAP WAR outside of
    itself
    to the SOAP JAR file in my EAR. See... If the JAR was inside the WAR
    it wasn't
    able to access any of my beans... and outside the WAR, the files in
    the WAR couldn't get to the JAR.
    Second, we use Toplink. And in one case, we actually serialize an
    object to
    the database using Toplink (not always a good idea, but made sense
    here). Now,
    in pre-EAR 5.1 days, this was all fine and good. But with the EAR,
    all hell
    seem to break loose. Essentially, Toplink... being part of the App's
    container
    environment is independent of the whole EAR classloader stuff. You
    NEED the
    Toplink JAR files in the system classpath (not inside the EAR), which
    is fine and what I would want. However, when you deserialize the
    object and Toplink
    needs a reference to the class it's being deserialized into... well,
    being
    outside the EAR... you have to put that class reference in the system
    class
    path. And of course, that class has dependencies on a number of other
    classes
    in the system (including, eventually an EJB or 2)... and well, we
    almost
    ended up having to put a whole thing outside of the EAR and back into
    the
    system classpath again. But I was able to modularize some things a
    little
    more, and package what I needed into a jar file and put that on the
    system
    classpath without affecting the deployment of EJBs in the EAr.
    Third, I'm having problems getting my JMS to access a listener class
    inside
    the EAR. I haven't fully confirmed this... but from what I've read,
    this
    seems like a similar problem as described above. And, you need to
    somehow
    get that in your classpath. Of course, dependency-wise, that WILL be
    pulling
    in some of the EJBs.... and now, I have a couple of my EJBs back in
    the
    classpath... UGH!!! Well, eventually, I'll refactor this stuff into
    message
    driven beans, and I can then supposedly get out of this whole. But,
    for
    the time being... that's where this is.
    So... with all this in mind... my real question is this???
    What really is the benefit to EAR'ing other than supposedly making
    your packaging of things cleaner AND the ability to port your
    application to other
    app servers easily. Cause, though the first reason is nice... it's
    not
    essential. And as far as the second reason goes... I don't see that
    changing
    anytime soon. It just seems that every problem I get is related to
    this
    stuff, and it's very annoying. And I'm not sure what I REALLY get
    from the
    EAR that's worth all the pain??
    -Michael J. Hudson
    [email protected]

  • To upgrade or not to upgrade....that is the question.

    So my original iPhone is just starting to end its lifespan. I have had it since the phone first came out (so for about 2.5 years). I am having problems with battery life, freezing, and the sleep button keeps getting stuck. I brought it to the genius bar today and they told me that they can replace the phone with a new one (still the original iPhone) for what amounts to about $90 after taxes and stuff.
    So here is the question. Do I spend the $90 for the same phone with no upgrades and the capability of keeping my current service plan (only $60/month) or do I upgrade to the newest iPhone for only an extra $100 but then have to pay an additional $15 or more per month for the same service? Is the newest phone really worth that extra money?

    That's a decision only you can make. Personally, it would be worth it to me to go from a 2G to a 3GS (assuming I was in a good 3G coverage area) but if you can limp along for another few months, Apple may come out with a new iPhone this summer, considering they have for the last 3 summers.

  • To use SQL or to not use SQL ..... That is the question

    A couple of posts lately have brought something to my attention that I wanted to discuss between the folks that view this forum because I believe it is important. I highly value the opinions of many of the members here so I think getting your insight would not only benefit me, but many other forum members as well.
    This discussion stems from two posts:
    {message:id=3786432} (Billy)
    ...The question that you need to ask yourself is why use such a technique? For rendering the data a specific way in the client? Well, rendering data is NOT a SQL function and in essence a result of ignorance of how to correctly use client-server. Rendering on the client is dealt with by the client itself. Using SQL to do it.. not only nasty (as many of these examples above are), but also far from optimal and efficient SQL. And in most cases, will not scale. Increase the data volume of the table queried and there will be a hefty performance knock as SQL is incorrectly used.
    ...>
    {message:id=3914362} (Sven W.)
    ...For the Pivot considerations. It is usually much better not to try to do this inside the database. If you think about it. The data itself can be fetch from the database very easily. To do a PIVOT is a kind of GUI/Layout representation for this data. This should be done in the GUI Layer.
    >
    I tried to respond to the thread Billy posted in, so I'll cut and paste my response here:
    Discussion
    Where do we as database developers draw the line between the correct use of SQL or not? Or between rendering on the client and just returning data?
    Now with LISTAGG, PIVOT and UNPIVOT all available to us would these be considered correct uses of SQL?
    Where does this leave the TO_CHAR function? Is this considered rendering?
    I'm fully expecting a fuzzy answer with something along the lines of "do the work where it makes the most sense" from a ease of development and maintainability perspective but I just wanted to ask.
    Hopefully this is a valuable discussion.
    Thanks!

    Let me give a simple example. You can store images in a table as a LOB. You can serve these images to a web browser client via mod_plsql.
    However, the data is static. It requires I/O (and some hefty ones for larger images). What is the biggest performance penalty we have in Oracle? I/O? What is affected by doing I/O to read these images? The buffer cache (which will age out other data in the cache).
    Where else can we store this data? The web server. At what cost to the performance of Oracle? None. Impact on web server? Heck, web servers are designed at their very core to do this!
    So where is the best place to storage static images in this specific case? Not the database, but the web server.
    Now simply extend this concept to the client - where is the best place to render data?
    Should the data be formatted for rendering (e.g. converted into HTML) in the database layer, or should it rather be done in the presentation layer?
    Now I can already hear the argument that the former is exactly what we are doing using APEX. We create dynamic HTML pages on the Oracle server side and then dish that up to the rendering layer to display.
    Two issues that need to be considered. Firstly, this is not done using SQL. This is done using a procedure language called PL/SQL - not using native SQL. PL/SQL in this case is used exactly as Java or PHP or Perl or any other "+app layer+" language would be used. It only happens that PL/SQL resides in the database too. But do not mistake it for what it really is - the application layer.
    The second issue drives home the point that even in 3 tier client server, the application layer is not the best place to do the formatting for the rendering layer. Web 2.0 aka AJAX.. Where the app layer delivers a dynamic rendering engine (as Javascript) to the rendering layer. After which rendering and formatting are done solely inside that rendering layer. And interaction between that and the app layer is requests for new/fresh data to be rendered.
    Why is AJAX becoming so popular? Key issues and concepts like performance, and a rich client interface and so on.
    This all points that the fundamental principle of using the rendering layer to do its thing and using the SQL layer to do its (separate and different) thing, still holds true.
    Yes, we may not always stick to this principle - as we do with doing the rendering (creating HTML) in PL/SQL using APEX for example.. but this is not because the principle is unsound. It is because of technology reasons (different browsers, different behaviour), lack of support for W3C standards (hello IE) and so on.
    It is only recently that these problem areas have been meaningfully addressed.. and why rendering frameworks like extJS is the (rendering layer) future of 3 tier client server.
    If the concept of using SQL to perform rendering and formatting had any substance.. then there would have been a lot of resistance to AJAX for example. The reverse is true.. as we all want to use SQL to do SQL and want the rendering layer to do its thing without us having to code in SQL to specifically support rendering and formatting. It is clunky. It slows down the SQL (every formatting function is a tiny overhead that adds up). It does not bode well for maintenance and changes to the presentation layer. And all those tiny overheads can spell doom for scalability.
    I do not see any gray lines here, or a question of "+opinion+", or "+it depends+". The architecture is clear. The fundamentals are sound.
    The real issue is how we choose to apply these. But (the "+incorrect+") application (of these fundamentals) does not invalidate the fundamentals.

  • To subclass, or not to subclass? That is the question.

    I have a comand bar built from Command objects. The Command knows how to display itself (flat, then raised w/mouseOver, depressed w/mousePressed...). The command bar may be either an icon bar or a menu bar - the Command knows about icons, text names, tooltip text and so on.
    The icon bar is simpler in its painting (just icon). The menu shows icon (if any) name, shortcut, . . . So should I have a CommandBar class that knows how to display itself in two skins? Or should I have a MenuBar that extends IconBar? Or a MenuBar and an IconBar that both extend CommandBar?
    More generally, given close siblings when should you choose a single class with options and when should you subclass? (Assume that the single class is not so big that division is a practical necessity.)

    You can always use the Decorator (GoF) pattern. Look at what Sun did with collections. You have List (and ArrayList, etc.). There is also a method in Collections: synchronizedList(). That 'wraps' the normal list with a decorator that provides synchronization. For your application, take the 'base' functionality and add a decorator for paint() and fire().
    As far as general design principles, I follow something that is probably not an accepted standard: I only sub-class abstract classes. Sometimes, you get a non-sensical design, such as:
    AbstractButton
    DefaultButton extends AbstractButton (with only a constructor)
    ComplicatedButton extends AbstractButton (with constructor and extra methods)
    Now, from an efficiency perspective, it would probably be best to collapse AbstractButton into DefaultButton and have ComplicatedButton extend that class. However, I have been on too many projects where someone wants to create a hierarchy n levels deep (usually more than three). The problem is that tihs 'freezes' your design, as you can only inherit from a single superclass.
    So, my general solution to this is to have only one level of inheritance, and that inheritance only occurs from an abstract parent. For the remainder of the design, I use interfaces, composition and delegation liberally. This allows the most 'freedom' in your hierarchy without any loss in functionality.
    For example, why inherit from a concrete class when you can simply declare an interface, make a helper that implements that interface's methods and then delegate calls to the helper in subclasses? I now am only inheriting from Object, which allows me, in the future, to inherit from a Java class or my own abstract class.
    That probably did not help answer your question. But that's generally how I approach things. Caveat implementor: other designs may be equally valid.
    - Saish

  • Install , install again ? That , is the question .

    Upon serious disaffection with rising
    OS trifles I have taken the time to rein-
    stall the OS . From the original discs to
    the retail Tiger distribution to Software
    Updates three loads and out , I have rein-
    stalled the OS . The orphaned or unident-
    ified files or folders that freeze the comp-
    uter were among the hated 'trifles' . They
    appear as healthy as ever and what a pain
    . A quick fsck showed the drive was fine
    but the mount revealed the awful orphan-
    ed files . These quick or permanent lay-
    abouts wasted no time returning and I
    wonder how and why . The computer runs
    pretty well outside of this . About a year
    and a half ago found me doing this same
    routine for the same reasons and now
    leaves me wondering if it is the Installa-
    tion Discs or the computer . I was consid-
    ering reinstalling again just to see if I
    could get it “Right” perhaps with persis-
    tence , lacking abundances of most every-
    thing else . Thanks for your thoughts
    , Frederick

    I think I can help you determine if the
    reinstall of the OS can be the problem
    either because of something wrong with the
    discs or just that things happen. Things can
    happen once can be of a singular nature.
    But those that happen twice are suspect by their
    duality. Sand can be removed from the eye
    carefully but sandy fingers will redeposit it.
    Best course of action under unfortunate circumstances
    would be to backup your entire disk, erase &
    install, then start with your OS Tiger install disk.
    Minimize your installs. After installing 10.4.x you
    will want to use the
    10.4.10 Combo Updater PPC
    that should be all you need. Remember to Verify
    Disk before update and repair permissions after
    update from /Applications/Utilities/Disk Utility.
    Now your system should be a clean as a fresh mountain
    brook and happy as a clam. The trick is not to bring over any
    cancerous cells from your pathological old directory.
    A fresh start should put you good as new and
    help your put meter to measure.
    -mj
    [email protected]

  • String: Extend or not extend that�s the question ...

    A simple design question:
    If you need a method to create a String with chars of the same value, let us name it fill.
    Would you inherit from String or create a helper class with a static method, and why:
    class XString : extends String
    String fill(int count, char character)
    //add character count times to a String and return the result
    class StringHelper
    static String fill(int count, char character)
    //add character count times to a String and return the result
    I think it�s bad design to create this awful helper class.
    What�s your opinion.
    Dirk

    But is this good OO Design? It seems to
    me like a goto in prozedural languages.So the argument is whether you should extend the functionality of a particular object by actually extending the class? I can see why creating helper classes can feel like "fragmenting" the code.
    One of the problems with extension, despite its core role in OO principles, is that its implementation in non-trivial situations tends to break one of the other OO principles... encapsulation.
    Extending a class to fulfil the existing API is generally fine, but any kind of extension to the API generally requires knowledge of how the extended class functions - the implementation - to prevent disrupting existing behaviour, or requires rewriting the extended functions to prevent such clashes. There's a good example in Doug Lea's book Effective Java.
    In the context of the original example, I probably wouldn't want a method that returns a String, but an extension to StringBuffer with a repeat(char with, int count, int index) method which inserts a character a given number of times in the given location in an efficient manner would have been quite useful to me in various situations - most involving padding a buffer to a desired length before returning the required String.
    Is there a particularly good reason why StringBuffer is declared final, preventing this? The only way to (pretend to) do this would be to decorate StringBuffer with a repeating class which creates a char array and inserts that into the buffer... any other method fails to meet the requirements of efficiency. In other cases, there may be no efficient way to perform some task without extension, because no sufficiently efficient method is provided.
    I've talked myself into a corner, and I don't know which side of the fence I stand on. I'll continue to write decorator classes though, because I can't write extensions.

Maybe you are looking for