What is Sun's answer about PCA  patch manager free tool ?

Hi all,
this post aims on echoing customers'feedback.
from customers'experience it seems that smpatch from patch manager tool is suffering of a lack of reliability.
One of them moved to a new freeware called PCA-Patch Check Advanced
http://www.par.univie.ac.at/solaris/pca/
From PCA Web Site we can read:
Sun has offered various tools in the past to analyze Sun/Solaris systems for patches which are installed or missing, e.g. PatchDiag, PatchCheck, PatchPro, smpatch (see the Sun Patch Portal for details). Some of them are not actively maintained, some are huge and opaque, some don't run on older Solaris releases or stripped-down machines. None of them really made me happy. Based on PatchCheck source I implemented PCA, which gets rid of the disadvantages of Sun's own tools.
I would like to know what is Sun's position and could it be possible to integrate such a tool ?
Thanks.
Malek.

- Sun is always interested in customer feedback, and is interested in
the concerns expressed here.I'd also very muck like Sun to be interested in fixing the customers problems, which has not been done in my cases. No solution or explanation has been given to my many cases opened on smpatch, and this, even though in some cases, patches were made (months later): I was never told about them. Which makes me wonder about the point of having paid support contracts in the first place.
But since UM was developed by interns, it's no wonder there's trouble maintaining it (how do I know? I've been an intern doing Java development, and I made the exact same beginner's mistakes, not knowing to handle exceptions, leaving debug output on stdout, being unable to make proper localisation).
It's obviously not the work of experienced Java programmers. Hard to trust it...
- We do understand that opaque is bad, but one of Sun's goals is to
provide complex analysis beyond matching patches with installed
packages. This analysis and its support processes will necessarily
be somewhat opaque.What analysis are you talking about? smpatch is not even able to tell me that security fixes are available for NSS, which has been part of Solaris for years. PCA does.
And what about Studio? Why can't smpatch tell me there are patches for that, too? And why aren't free patches, that are neither recommended nor security (such as the man patches) shown by smpatch when running without a contract?
- We are interested in the concerns surrounding stripped-dow
systems, and are considering a "light" version of our tools that would
support minimal systems. However at this time there are no plans to
release a light version.And what about systems without a network?
And what about not forcing me to read and agreeing to a, abusive license agreement, which can't even be printed, nor shown full screen (5 lines at a time!)?
And, please, can you explain me why I should agree to respect Reuters so-called intellectual property? What does it have to do to with keeping my systems up to date reliably and easily? Is it a competition between Sun and Microsoft to put the most ludicrous licenses on line?
Anyway, I'm sure Solaris 11 will introduce some new bloated offspring of the PatchProManagerUpdateConnection family, so I'm not holding my breath. Rather than repeat this experience again and again, I'll stick with PCA.
Laurent

Similar Messages

  • Solaris 10 - Tools for Patch Management Automation

    Hi,
    What are the best tools (both Sun and third party) for patch management automation for a company using Solaris 10 with zones?
    What are the pros / cons and cost of these tools? Which ones are the most widely used / the most recommended?
    Current objectives for automation are to eliminate the current manual processes and to reduce planned and unplanned downtime.
    Thanks!

    I don't think you would want to fully automate it. You need to be able to test patches first on a test system to ensure they don't conflict with established applications and cause problems. You wouldn't want to install patches that relate to applications you don't have, or for upgrades you do not have or don't plan on having. That said, the smpatch utility can connect with Sun Solve, find patches, and download them, even install them if desired. You could easily script the process and run via cron to make it automated. I just don't think that's a good idea without having someone make decisions on what SHOULD be patched at any given time. The SMC facility also has a function that mimics smpatch, although you could not automate that. Also, smpatch can only be run from the global zone, and patches will percolate down to non-global zones automatically - smpatch will not run in a non-global zone (unless there's been changes made recently that I'm not aware).
    There's also the problem where some patches require reboot while others do not. If the patch kills the system, what mechanism do you have in place for someone to know what patch was applied that killed the system, if the process is automated and a number of patches were applied?

  • Anyone answer about KPI's?what r the objects including in KPI's?

    Anyone answer about KPI's?what r the objects including in KPI's?

    Hi Srinu,
    KPI is a measurement or metric for evaluating a company's business strategy, performance, or technology.
    Key performance indicators express abstract company objectives in financial or physical units for comparative purposes.
    You can say the KPIs are Key Figures.
    Regards,
    Sreedhar

  • What is the best approach for patch management

    Hi,
    I'm new about patch management. I would like to ask you how manage patch on few Solaris 10 servers using command line.
    I would like to know:
    1. Using only command line how to download latest patches
    2. There are some dependencies how to check this and install only those patches which meets dependecy requirements?
    3. Is there possiblity to atomate this?
    4. Is it possible to have one patch server and others servers will download and install this patches?
    5. What if some patches are not installed?
    6. How to find out which patches are necessary and which patches don't have to be installed? Or maybe or patches to be installed?
    7. Could you please describe your approach for managing patches? Or maybe you can recommend some books/web page/articles that can help me to understand patch management.
    Thanks in advance,
    Daniel

    smpatch is the command line tool to manage solaris patching. first you need to register yours system - this can be done using sconadm, detailed here:
    http://sunsolve.sun.com/search/document.do?assetkey=1-9-82688-1
    smpatch analyze will list all required patches and resolve dependencies. smpatch download will download all the required patches, and smpatch update will apply them. You can set up a Local Patch Server to download patches, then your clients will download the patches they require from it. This is detailed in chapter 6 of the update connection admin guide

  • About Installling patches in Solaris9

    Hello,
    I need to install Oracle10 in Solaris9, i have installed the the following about requiered patches 112233-11, SunOS 5.9: Kernel Patch
    111722-04, SunOS 5.9: Math Library (libm) patch:
    showrev -p |grep 111722-04
    Patch: 111722-04 Obsoletes: Requires: Incompatibles: Packages: SUNWlibms, SUNWlmsx, SUNWlibm
    # showrev -p |grep 112233-11
    Patch: 112874-31 Obsoletes: 113165-01, 113475-03, 115480-01 Requires: 112233-11 Incompatibles: Packages: SUNWcsr, SUNWcsl, SUNWcslx, SUNWhea, SUNWarc, SUNWarcx, SUNWcstl, SUNWcstlx, SUNWdpl, SUNWdplx
    Patch: 112874-34 Obsoletes: 113165-01, 113475-03, 115480-01 Requires: 112233-11 Incompatibles: Packages: SUNWcsr, SUNWcsl, SUNWcslx, SUNWhea, SUNWarc, SUNWarcx, SUNWcstl, SUNWcstlx, SUNWdpl, SUNWdplx
    Do i really have installed the patch 112233-11?, it would be dangerous to install it?, i have ORACLE9 and WEBSPHERE in the same server.
    Than you

    Hello Pablo,
    118558-33 was obsoleted by 118558-39 on 11 Jan 2007. I would recommend to visit the [*Oracle forums*|http://forums.oracle.com/forums/main.jspa] and/or the contract-customer-only patch forum (this is a [*link*|http://blogs.sun.com/patch/entry/patch_forums_now_available_for] to an blog entry describing a procedure to access this "private" forum).
    I don't know if it's save to apply the latest Solaris 9 patch cluster. You can use updatemanager or PCA to install missing patches.
    [*BigAdmin Feature Article: Patch Management Best Practices*|http://www.sun.com/bigadmin/features/articles/patch_management.jsp]
    [*BigAdmin Description - PCA - Patch Check Advanced*|http://www.sun.com/bigadmin/jsp/descFile.jsp?url=descAll/pca__patch_check_ad]
    Michael

  • What is the  Oracle Recommended order of patching on Exadata?

    We are about to patch our Exadata machine with Bundle Patch 22.  It is running ORacle 11gR2 (11.2.0.3.0).  I have seen differening opinions of the ORDER by which to patch it in both Oacle presnetations as well as white papers, but cannot find the answer in straight-up Oracle documantation.  Namely, the questioned order is:
    1.) Infiniband Switches
    2.) Storage Server
    3.) DB
         - Grid Infrastructure Home
         - Oracle DB Home
    VERSUS
    1.) DB
         - Grid Infrastructure Home
         - Oracle DB Home
    2.) Storage Server
    3.) Infiniband Switches
    Thank you for your help.
    Matt

    MOS affirmed that the order of patching is: 1.) Infiniband 2.) storage server, and 3.) GI/DB.  Yes, the patch we are using is BP 22 and contains 17747147 for GI/DB, but the entire BP contains all 3 components.  Having read through MOS notes 888828.1 as well as 1553103.1, I actually have 2 other questions - one relates to the use of (or not) dbnodeupdate.sh and the other is overall semantics.  I posted to MOS, but have gotten no reply thus far.  Here they are:
    1.) dbnodeupdate.sh is called out in 888828.1 in a very few places.  My understanding is that it is only used for UPGRADES - not patches (BP or otherwise).  Do you agree?  MOS 1553103.1 is written about dbnodeupdae, but seems to imply it automates upgrades - but is not required.  Not sure.
    2.) What is the difference between a Quarterly DB Patch for Exadata (QDPE) and a Quarterly Full Stack DB Patch (QFSDP)?   I beleive I understand what they each contain, but it seems a QDPE is a subset WITHIN a QFSDP, but the documentation does nor differentiate.  I am not sure as to when I would download/use one versus the other.
    Thank you.
    Matt

  • Require official Oracle Best Practices about PSU patches

    A customer complained about the following
    Your company statements are not clear...
    On your web page - http://www.oracle.com/security/critical-patch-update.html
    The following is stated!
    Critical Patch Update
    Fixes for security vulnerabilities are released in quarterly Critical Patch Updates (CPU), on dates announced a year in advance and published on the Oracle Technology Network. The patches address significant security vulnerabilities and include other fixes that are prerequisites for the security fixes included in the CPU.
    The major products patched are Oracle Database Server, Oracle Application Server, Oracle Enterprise Manager, Oracle Collaboration Suite, Oracle E-Business Suite, PeopleSoft Enterprise Tools, PeopleSoft CRM, JD Edwards EnterpriseOne, JD Edwards OneWorld XE, Oracle WebLogic Suite, Oracle Communications and Primavera Product Suite.
    Oracle recommends that CPUs be the primary means of applying security fixes to all affected products as they are released more frequently than patch sets and new product releases.
    BENEFITS
    * Maximum Security—Vulnerabilities are addressed through the CPU in order of severity. This process ensures that the most critical security holes are patched first, resulting in a better security posture for the organization.
    * Lower Administration Costs—Patch updates are cumulative for many Oracle products. This ensures that the application of the latest CPU resolves all previously addressed vulnerabilities.
    * Simplified Patch Management—A fixed CPU schedule takes the guesswork out of patch management. The schedule is also designed to avoid typical "blackout dates" during which customers cannot typically alter their production environments.
    PROGRAM FEATURES
    * Cumulative versus one-off patches—The Oracle Database Server, Oracle Application Server, Oracle Enterprise Manager, Oracle Collaboration Suite, Oracle Communications Suite and Oracle WebLogic Suite patches are cumulative; each Critical Patch Update contains the security fixes from all previous Critical Patch Updates. In practical terms, the latest Critical Patch Update is the only one that needs to be applied if you are solely using these products, as it contains all required fixes. Fixes for other products, including Oracle E-Business Suite, PeopleSoft Enterprise Tools, PeopleSoft CRM, JD Edwards EnterpriseOne, and JD Edwards OneWorld XE are released as one-off patches, so it is necessary to refer to previous Critical Patch Update advisories to find all patches that may need to be applied.
    * Prioritizing security fixes—Oracle fixes significant security vulnerabilities in severity order, regardless of who found the issue—whether the issue was found by a customer, a third party security researcher or by Oracle.
    * Sequence of security fixes—Security vulnerabilities are first fixed in the current code line. This is the code being developed for a future major release of the product. The fixes are scheduled for inclusion in a future Critical Patch Update. However, fixes may be backported for inclusion in future patch sets or product releases that are released before their inclusion in a future Critical Patch Update.
    * Communication policy for security fixes—Each Critical Patch Update includes an advisory. This advisory lists the products affected by the Critical Patch Update and contains a risk matrix for each affected product.
    * Security alerts—Security alerts provide a notification designed to address a single bug or a small number of bugs. Security Alerts have been replaced by scheduled CPUs since January 2005. Unique or dangerous threats can still generate Security Alert email notifications through MetaLink and the Oracle Technology Network.
    Nowhere in that statement is the Patch Set Update even mentioned. If Oracle intends to recommend to all customers that Patch Set Updates are the recommended means of Patching for Security and Functionality then it should be stated so here!
    Please clarify!
    Where can I find the current information so that I can use to Official Oracle statement as a reference for my Enterprise Practices and Standards document? The individual patch package references you are giving me do not state Oracle recommended Best Practice, they only speak to the specific patch package they describe. These do not help me in making an Enterprise statement of Practices and Standards.
    I need to close the process out to capture a window of availability for Practices and Standards approval.
    Do we have any Best Practice document about PSU patches available for customers?

    cnawrati wrote:
    A customer complained about the following
    Your company statements are not clear...
    On your web page - http://www.oracle.com/security/critical-patch-update.html
    Who is the "your" to which you are referring?
    <snip>
    Nowhere in that statement is the Patch Set Update even mentioned. If Oracle intends to recommend to all customers that Patch Set Updates are the recommended means of Patching for Security and Functionality then it should be stated so here!Um. OK
    Please clarify!
    Of whom are you asking for a clarification?
    Where can I find the current information so that I can use to Official Oracle statement as a reference for my Enterprise Practices and Standards document? The individual patch package references you Who is the "you" to which you refer?
    are giving me do not state Oracle recommended Best Practice, they only speak to the specific patch package they describe. These do not help me in making an Enterprise statement of Practices and Standards.
    I need to close the process out to capture a window of availability for Practices and Standards approval.
    Be our guest.
    Do we What do you mean "we", Kemosabi?
    have any Best Practice document about PSU patches available for customers?This is a very confusing posting, but overall it looks like you are under the impression that this forum is some kind of channel for communicating back to Oracle Crop anything that happens to be on your mind about their corporate web site and/or policies and practices. Please be advised that this forum is simply a platform provided BY Oracle Corp as a peer operated user support group. No one here is responsible for anything on any Oracle web site. No one here is responsible for any content anywhere in the oracle.com domain, outside of their own personal posting on this forum. In other words, you can complain all you want about Oracle's policy, practice, and support, but "there's no one here but us chickens."

  • Doubt about Rollup Patches and Family Packs

    Hi All,
    What is the difference between Rollup patches and family packs?And also applying family packs will increase the codelvel?Please specify the naming convention of both the pacthes also.
    Thanks
    Rajasekar

    Thanks Kashif M &Hussein for your valuable replies.I've read the links. As per the documennt in r12.
    Product family release update pack (product family RUP)     An aggregation of patches on a given codeline created for all products in specific product family for a specific point release. For example, R12.FIN_PF.A.1.
    Release update pack (RUP)     A cumulative aggregation of product family release update packs on a given codeline created across Oracle E-Business Suite after the initial release. For example, 12.1.1.
    RUP in r12 is similar to family pack(11i) which will change the third digit (12.1.1 to 12.1.2).right?
    Product family release update pack(family pack) with new features called rollup patch?
    (or)
    About rollup patch I read in one apps dba blog
    Rollup patces are usually fixes of all issues popped up because of a particular minipack/familypack or maintenance pack. Lets assume you applied a family pack & because of that some issue/bug came into picture or all bugs reported soon after family pack or maintenance pack are fixed and released as Roll Up patch . These are usually denoted as roll up 1 rollup 2 or roll up A roll up B.
    So you will see maintenance pack 10 (11.5.10) roll up 1 or roll up2.
    How can we identify the roll up level?
    Thanks
    Rajasekar
    Edited by: user9113570 on Jun 5, 2012 8:30 AM

  • What do you NOT like about Oracle Portal?

    Using a theme from a post on AskTom, I thought I would start one that details what customers don't like about Portal.
    I've got a few:
    PPE
    When load balancing, it forces us to use NAT in the load balancer. Extra configuration, extra time, etc.
    Java or MOD_PLSQL?
    Mod_plsql has been around for a long time. It is robust and stable but a simple Dad for Portal is a mix of Java and Mod_plsql. It is not nearly as clean and stable as a mod_plsql application.
    SSO
    SSO should be part of the middle tier, not the Infrastructure. It just adds another hop and another thing to manage.
    PTLConfig
    ssoreg is for SSO registration of Partner applications. Easy enough. But wait, it doesn't work for Portal. You have to run ptlconfig for it.
    SSL configuration
    Wow, what a pain. A Java application or Mod_plsql application is easy to configure for SSL. Not true with Portal.
    OC4J Portal In Process
    Showing the status with opmnctl won't show in-process things like Portal. It can only be seen in OEM.
    Explicit Path
    In the HTML Portal generates, it has the full path to everything. I tried just changing the hostname in the httpd.conf file but that doesn't work either. We used setup.exe OUI_HOSTNAME= to change the host name of an install which works ok. When using multiple middle tiers, you have to use the real host name for each server and then use a VirtualHost all because Portal uses the full path instead of a relative path.
    Migration of code
    Portal doesn't really support the idea of multiple environments which every large company (which is a big part of Oracle's customer base) uses. Migrating a page group with all content from Test to QA isn't something built in like it should be.
    I've got some more complaints about Forms, Reports, Discoverer, and SSO but this is just about opportunities for Portal.

    heh. why so negative?
    what about a thread about what you LIKE about Portal :-)

  • What every developer should know about character encoding

    This was originally posted (with better formatting) at Moderator edit: link removed/what-every-developer-should-know-about-character-encoding.html. I'm posting because lots of people trip over this.
    If you write code that touches a text file, you probably need this.
    Lets start off with two key items
    1.Unicode does not solve this issue for us (yet).
    2.Every text file is encoded. There is no such thing as an unencoded file or a "general" encoding.
    And lets add a codacil to this – most Americans can get by without having to take this in to account – most of the time. Because the characters for the first 127 bytes in the vast majority of encoding schemes map to the same set of characters (more accurately called glyphs). And because we only use A-Z without any other characters, accents, etc. – we're good to go. But the second you use those same assumptions in an HTML or XML file that has characters outside the first 127 – then the trouble starts.
    The computer industry started with diskspace and memory at a premium. Anyone who suggested using 2 bytes for each character instead of one would have been laughed at. In fact we're lucky that the byte worked best as 8 bits or we might have had fewer than 256 bits for each character. There of course were numerous charactersets (or codepages) developed early on. But we ended up with most everyone using a standard set of codepages where the first 127 bytes were identical on all and the second were unique to each set. There were sets for America/Western Europe, Central Europe, Russia, etc.
    And then for Asia, because 256 characters were not enough, some of the range 128 – 255 had what was called DBCS (double byte character sets). For each value of a first byte (in these higher ranges), the second byte then identified one of 256 characters. This gave a total of 128 * 256 additional characters. It was a hack, but it kept memory use to a minimum. Chinese, Japanese, and Korean each have their own DBCS codepage.
    And for awhile this worked well. Operating systems, applications, etc. mostly were set to use a specified code page. But then the internet came along. A website in America using an XML file from Greece to display data to a user browsing in Russia, where each is entering data based on their country – that broke the paradigm.
    Fast forward to today. The two file formats where we can explain this the best, and where everyone trips over it, is HTML and XML. Every HTML and XML file can optionally have the character encoding set in it's header metadata. If it's not set, then most programs assume it is UTF-8, but that is not a standard and not universally followed. If the encoding is not specified and the program reading the file guess wrong – the file will be misread.
    Point 1 – Never treat specifying the encoding as optional when writing a file. Always write it to the file. Always. Even if you are willing to swear that the file will never have characters out of the range 1 – 127.
    Now lets' look at UTF-8 because as the standard and the way it works, it gets people into a lot of trouble. UTF-8 was popular for two reasons. First it matched the standard codepages for the first 127 characters and so most existing HTML and XML would match it. Second, it was designed to use as few bytes as possible which mattered a lot back when it was designed and many people were still using dial-up modems.
    UTF-8 borrowed from the DBCS designs from the Asian codepages. The first 128 bytes are all single byte representations of characters. Then for the next most common set, it uses a block in the second 128 bytes to be a double byte sequence giving us more characters. But wait, there's more. For the less common there's a first byte which leads to a sersies of second bytes. Those then each lead to a third byte and those three bytes define the character. This goes up to 6 byte sequences. Using the MBCS (multi-byte character set) you can write the equivilent of every unicode character. And assuming what you are writing is not a list of seldom used Chinese characters, do it in fewer bytes.
    But here is what everyone trips over – they have an HTML or XML file, it works fine, and they open it up in a text editor. They then add a character that in their text editor, using the codepage for their region, insert a character like ß and save the file. Of course it must be correct – their text editor shows it correctly. But feed it to any program that reads according to the encoding and that is now the first character fo a 2 byte sequence. You either get a different character or if the second byte is not a legal value for that first byte – an error.
    Point 2 – Always create HTML and XML in a program that writes it out correctly using the encode. If you must create with a text editor, then view the final file in a browser.
    Now, what about when the code you are writing will read or write a file? We are not talking binary/data files where you write it out in your own format, but files that are considered text files. Java, .NET, etc all have character encoders. The purpose of these encoders is to translate between a sequence of bytes (the file) and the characters they represent. Lets take what is actually a very difficlut example – your source code, be it C#, Java, etc. These are still by and large "plain old text files" with no encoding hints. So how do programs handle them? Many assume they use the local code page. Many others assume that all characters will be in the range 0 – 127 and will choke on anything else.
    Here's a key point about these text files – every program is still using an encoding. It may not be setting it in code, but by definition an encoding is being used.
    Point 3 – Always set the encoding when you read and write text files. Not just for HTML & XML, but even for files like source code. It's fine if you set it to use the default codepage, but set the encoding.
    Point 4 – Use the most complete encoder possible. You can write your own XML as a text file encoded for UTF-8. But if you write it using an XML encoder, then it will include the encoding in the meta data and you can't get it wrong. (it also adds the endian preamble to the file.)
    Ok, you're reading & writing files correctly but what about inside your code. What there? This is where it's easy – unicode. That's what those encoders created in the Java & .NET runtime are designed to do. You read in and get unicode. You write unicode and get an encoded file. That's why the char type is 16 bits and is a unique core type that is for characters. This you probably have right because languages today don't give you much choice in the matter.
    Point 5 – (For developers on languages that have been around awhile) – Always use unicode internally. In C++ this is called wide chars (or something similar). Don't get clever to save a couple of bytes, memory is cheap and you have more important things to do.
    Wrapping it up
    I think there are two key items to keep in mind here. First, make sure you are taking the encoding in to account on text files. Second, this is actually all very easy and straightforward. People rarely screw up how to use an encoding, it's when they ignore the issue that they get in to trouble.
    Edited by: Darryl Burke -- link removed

    DavidThi808 wrote:
    This was originally posted (with better formatting) at Moderator edit: link removed/what-every-developer-should-know-about-character-encoding.html. I'm posting because lots of people trip over this.
    If you write code that touches a text file, you probably need this.
    Lets start off with two key items
    1.Unicode does not solve this issue for us (yet).
    2.Every text file is encoded. There is no such thing as an unencoded file or a "general" encoding.
    And lets add a codacil to this – most Americans can get by without having to take this in to account – most of the time. Because the characters for the first 127 bytes in the vast majority of encoding schemes map to the same set of characters (more accurately called glyphs). And because we only use A-Z without any other characters, accents, etc. – we're good to go. But the second you use those same assumptions in an HTML or XML file that has characters outside the first 127 – then the trouble starts. Pretty sure most Americans do not use character sets that only have a range of 0-127. I don't think I have every used a desktop OS that did. I might have used some big iron boxes before that but at that time I wasn't even aware that character sets existed.
    They might only use that range but that is a different issue, especially since that range is exactly the same as the UTF8 character set anyways.
    >
    The computer industry started with diskspace and memory at a premium. Anyone who suggested using 2 bytes for each character instead of one would have been laughed at. In fact we're lucky that the byte worked best as 8 bits or we might have had fewer than 256 bits for each character. There of course were numerous charactersets (or codepages) developed early on. But we ended up with most everyone using a standard set of codepages where the first 127 bytes were identical on all and the second were unique to each set. There were sets for America/Western Europe, Central Europe, Russia, etc.
    And then for Asia, because 256 characters were not enough, some of the range 128 – 255 had what was called DBCS (double byte character sets). For each value of a first byte (in these higher ranges), the second byte then identified one of 256 characters. This gave a total of 128 * 256 additional characters. It was a hack, but it kept memory use to a minimum. Chinese, Japanese, and Korean each have their own DBCS codepage.
    And for awhile this worked well. Operating systems, applications, etc. mostly were set to use a specified code page. But then the internet came along. A website in America using an XML file from Greece to display data to a user browsing in Russia, where each is entering data based on their country – that broke the paradigm.
    The above is only true for small volume sets. If I am targeting a processing rate of 2000 txns/sec with a requirement to hold data active for seven years then a column with a size of 8 bytes is significantly different than one with 16 bytes.
    Fast forward to today. The two file formats where we can explain this the best, and where everyone trips over it, is HTML and XML. Every HTML and XML file can optionally have the character encoding set in it's header metadata. If it's not set, then most programs assume it is UTF-8, but that is not a standard and not universally followed. If the encoding is not specified and the program reading the file guess wrong – the file will be misread.
    The above is out of place. It would be best to address this as part of Point 1.
    Point 1 – Never treat specifying the encoding as optional when writing a file. Always write it to the file. Always. Even if you are willing to swear that the file will never have characters out of the range 1 – 127.
    Now lets' look at UTF-8 because as the standard and the way it works, it gets people into a lot of trouble. UTF-8 was popular for two reasons. First it matched the standard codepages for the first 127 characters and so most existing HTML and XML would match it. Second, it was designed to use as few bytes as possible which mattered a lot back when it was designed and many people were still using dial-up modems.
    UTF-8 borrowed from the DBCS designs from the Asian codepages. The first 128 bytes are all single byte representations of characters. Then for the next most common set, it uses a block in the second 128 bytes to be a double byte sequence giving us more characters. But wait, there's more. For the less common there's a first byte which leads to a sersies of second bytes. Those then each lead to a third byte and those three bytes define the character. This goes up to 6 byte sequences. Using the MBCS (multi-byte character set) you can write the equivilent of every unicode character. And assuming what you are writing is not a list of seldom used Chinese characters, do it in fewer bytes.
    The first part of that paragraph is odd. The first 128 characters of unicode, all unicode, is based on ASCII. The representational format of UTF8 is required to implement unicode, thus it must represent those characters. It uses the idiom supported by variable width encodings to do that.
    But here is what everyone trips over – they have an HTML or XML file, it works fine, and they open it up in a text editor. They then add a character that in their text editor, using the codepage for their region, insert a character like ß and save the file. Of course it must be correct – their text editor shows it correctly. But feed it to any program that reads according to the encoding and that is now the first character fo a 2 byte sequence. You either get a different character or if the second byte is not a legal value for that first byte – an error.
    Not sure what you are saying here. If a file is supposed to be in one encoding and you insert invalid characters into it then it invalid. End of story. It has nothing to do with html/xml.
    Point 2 – Always create HTML and XML in a program that writes it out correctly using the encode. If you must create with a text editor, then view the final file in a browser.
    The browser still needs to support the encoding.
    Now, what about when the code you are writing will read or write a file? We are not talking binary/data files where you write it out in your own format, but files that are considered text files. Java, .NET, etc all have character encoders. The purpose of these encoders is to translate between a sequence of bytes (the file) and the characters they represent. Lets take what is actually a very difficlut example – your source code, be it C#, Java, etc. These are still by and large "plain old text files" with no encoding hints. So how do programs handle them? Many assume they use the local code page. Many others assume that all characters will be in the range 0 – 127 and will choke on anything else.
    I know java files have a default encoding - the specification defines it. And I am certain C# does as well.
    Point 3 – Always set the encoding when you read and write text files. Not just for HTML & XML, but even for files like source code. It's fine if you set it to use the default codepage, but set the encoding.
    It is important to define it. Whether you set it is another matter.
    Point 4 – Use the most complete encoder possible. You can write your own XML as a text file encoded for UTF-8. But if you write it using an XML encoder, then it will include the encoding in the meta data and you can't get it wrong. (it also adds the endian preamble to the file.)
    Ok, you're reading & writing files correctly but what about inside your code. What there? This is where it's easy – unicode. That's what those encoders created in the Java & .NET runtime are designed to do. You read in and get unicode. You write unicode and get an encoded file. That's why the char type is 16 bits and is a unique core type that is for characters. This you probably have right because languages today don't give you much choice in the matter.
    Unicode character escapes are replaced prior to actual code compilation. Thus it is possible to create strings in java with escaped unicode characters which will fail to compile.
    Point 5 – (For developers on languages that have been around awhile) – Always use unicode internally. In C++ this is called wide chars (or something similar). Don't get clever to save a couple of bytes, memory is cheap and you have more important things to do.
    No. A developer should understand the problem domain represented by the requirements and the business and create solutions that appropriate to that. Thus there is absolutely no point for someone that is creating an inventory system for a stand alone store to craft a solution that supports multiple languages.
    And another example is with high volume systems moving/storing bytes is relevant. As such one must carefully consider each text element as to whether it is customer consumable or internally consumable. Saving bytes in such cases will impact the total load of the system. In such systems incremental savings impact operating costs and marketing advantage with speed.

  • About what can be done with free tools today

    Hi,
    I'm quite new to MHP and JavaTV. I've seen many web pages that informed me about MHP (like Steve's one, thanks if you see this message), but I'm still a bit confused about what can and cannot be done with the free tools available today, eg XleTView, openMHP or others.
    I'd like to fetch a DVB stream (or an object carousel? I'm not sure about it) from a DVB-T card (which has BDA drivers) and access it with MHP (in order to find which services are available, etc...).
    Tell me if I'm wrong, I think XleTView or openMHP can't access my DVB-T card, it's just useful to test Xlets.
    Is there a way to have it access the DVB-T card, or even a stream or an object carousel that would be on my hard drive?
    Many thanks, and sorry for the silly questions.

    [oops]
    when I say "it's just useful to test Xlets", I don't want to say it does only minor things. I understand all the MHP stuff is complex to implement, so don't take it bad, I just expressed myself the wrong way :)
    I'm grateful to the programmers who help to do this. Thanks!
    [oops]

  • I have no clue as to what my security question answers are and since this is my first purchase from my mac book it is asking for these. What do i do?

    I have no clue as to what my security question answers are and since this is my first purchase from my mac book it is asking for these. What do i do?

    You won't be able to change your rescue email address until you can answer 2 of your questions, you will need to contact iTunes Support / Apple to get the questions reset.
    Contacting Apple about account security : http://support.apple.com/kb/HT5699
    When they've been reset you can then use the steps half-way down this page to update your rescue email address for potential future use : http://support.apple.com/kb/HT5312

  • What are the correct answers ?

    after doing one sample swing application, i assumed the exam will be easy. when i took the exam, i couldn't do anything...
    what are the correct answers ??/
      Which one of the following converts the Image i into the BufferedImage bi? 
    Choice 1  
    bi = new BufferedImage(0, 0, BufferedImage.TYPE_INT_RGB);
    Graphics2D g = (Graphics2D)bi.createGraphics();
    g.drawImage(i,i.getHeight(this),i.getWidth(this)); 
    Choice 2  
    bi = new BufferedImage(i.getWidth(this), i.getHeight(this), 1);
    bi.drawImage(i,0,0,this); 
    Choice 3  
    bi = new BufferedImage(i.getWidth(this), i.getHeight(this), 1);
    Graphics2D g = (Graphics2D)bi.createGraphics();
    g.drawImage(i,0,0,this); 
    Choice 4  
    bi = new BufferedImage(i, i.getWidth(this), i.getHeight(this), BufferedImage.TYPE_INT_RGB); 
    Choice 5  
    bi = new BufferedImage(i, i.getWidth(this), i.getHeight(this)); 
    CardLayout
    BorderLayout
    FlowLayout
    GridBagLayout
    GridLayout 
      Which one of the following indicates all of the layout managers (from the list above) that allow you to set the space between the components from an instance of the LayoutManager itself? 
    Choice 1  
    CardLayout, FlowLayout, GridBagLayout, GridLayout 
    Choice 2  
    GridBagLayout 
    Choice 3  
    BorderLayout, GridLayout 
    Choice 4  
    BorderLayout, FlowLayout, GridLayout 
    Choice 5  
    BorderLayout, CardLayout, FlowLayout, GridBagLayout, GridLayout 
    JFrame jf = new JFrame();
    jf.setSize(400,400);
    JTextField jtf = new JTextField("JTextField");
    JButton jb = new JButton("JButton");
    jf.getContentPane().setLayout(
                          new FlowLayout(FlowLayout.LEFT,1,2));
    jf.getContentPane().add(jtf);
    jf.getContentPane().add(jb); 
      Which one of the following indicates the positions of the JTextField jtf and JButton jb relative to the JFrame and each other? 
    Choice 1  
    jtf and jb are in the top-center of the Jframe; jtf is to the left of jb, 2 pixels apart. 
    Choice 2  
    jb is in the top-right corner of the JFrame with jtf 1 pixel to the left of it. 
    Choice 3  
    jtf is in the top-left corner of the JFrame with jb 1 pixel to the right of it. 
    Choice 4  
    jb is in the top-right corner of the JFrame with jtf 2 pixels to the left of it. 
    Choice 5  
    jtf is in the top-left corner of the JFrame with jb 2 pixels to the right of it
    public void drawText(Graphics2D g, String text){
      Font f = new Font("Century Gothic", Font.BOLD, 10);
      g.setFont(f);
      g.drawString(text, 20, 20);
      Given the above sample code, what happens if the "Century Gothic" font is NOT available? 
    Choice 1  
    The Font() constructor fails, causing "f" to be null, and the setFont() method throws a NullPointerException. 
    Choice 2  
    "Century Gothic" is a built in Java font, which always exists within the Java runtime environment. 
    Choice 3  
    The code does not compile because only the following "logical" font names are supported in Java: Dialog, DialogInput, Monospaced, Serif, SansSerif, and Symbol. 
    Choice 4  
    The Font() constructor throws an IllegalArgumentException. 
    Choice 5  
    A default Font object is returned and is used
    Sample Code 
    public void drawText(Graphics2D g, String text){
      Font f = new Font("Century Gothic", Font.BOLD, 10);
      g.setFont(f);
      g.drawString(text, 20, 20);
      Given the above sample code, what happens if the "Century Gothic" font is NOT available? 
    Choice 1  
    The Font() constructor fails, causing "f" to be null, and the setFont() method throws a NullPointerException. 
    Choice 2  
    "Century Gothic" is a built in Java font, which always exists within the Java runtime environment. 
    Choice 3  
    The code does not compile because only the following "logical" font names are supported in Java: Dialog, DialogInput, Monospaced, Serif, SansSerif, and Symbol. 
    Choice 4  
    The Font() constructor throws an IllegalArgumentException. 
    Choice 5  
    A default Font object is returned and is used. 
    How must do you interact with a JTextField in order to generate an ActionEvent? 
    Choice 1  
    Tab into the JTextField from another Component. 
    Choice 2  
    Type in the JTextField. 
    Choice 3  
    Activate the cursor in the JTextField. 
    Choice 4  
    Hit <RETURN> while the cursor is in the JTextField. 
    Choice 5  
    Hit the spacebar while typing in the JTextField. 
    double-buffering
    public class TimerTest implements ActionListener{
      public static void main(String[] args){
        TimerTest test = new TimerTest();
        javax.swing.Timer timer = new javax.swing.Timer(100,test);
      public void actionPerformed(ActionEvent ev){
        System.out.println("Timer ticked.");
      Given the above sample code, what is the result when the code is run? 
    Choice 1  
    The words "Timer ticked." are printed to the console once after 100 milliseconds. 
    Choice 2  
    The words "Timer ticked." are printed to the console every 100 microseconds. 
    Choice 3  
    The words "Timer ticked." are printed to the console every 100 seconds. 
    Choice 4  
    The words "Timer ticked." are printed to the console every 100 milliseconds. 
    Choice 5  
    Nothing, the Timer is not started. 
    1. JSlider slider1 = new JSlider (JSlider.VERTICAL, 0, 100, 50);
    2. slider1.setPaintTicks(false);
    3. slider1.setMajorTickSpacing(10);
    4. slider1.setMinorTickSpacing(2); 
      What changes do you have to make to the above Sample code so that there are six Major Ticks and four Minor ticks between each Major Tick? 
    Choice 1  
    Replace line 3 with slider1.setMajorTickSpacing(17); 
    Choice 2  
    Replace line 2 with slider1.setPaintTicks(true);
    Replace line 3 with slider1.setMajorTickSpacing(17);
    Replace line 4 with slider1.setMinorTickSpacing(5); 
    Choice 3  
    Replace line 3 with slider1.setMajorTickSpacing(5);
    Replace line 4 with slider1.setMinorTickSpacing(4); 
    Choice 4  
    Replace line 2 with slider1.setPaintTicks(true);
    Replace line 3 with slider1.setMajorTickSpacing(20);
    Replace line 4 with slider1.setMinorTickSpacing(4); 
    Choice 5  
    Replace line 4 with slider1.setMinorTickSpacing(6); 
       Which one of the following defines a set of three JRadioButtons (b1, b2, and b3) so that only one JRadioButton can be selected at a time? 
    Choice 1  
    ButtonGroup g = new ButtonGroup();
    g.add(b1); g.add(b2); g.add(b3); 
    Choice 2  
    b1.group(true); b2.group(true); b3.group(true); 
    Choice 3  
    JRadioButton jbs[] = {b1, b2, b3};
    ButtonGroup g = new ButtonGroup(jbs); 
    Choice 4  
    The default behavior of JRadioButtons is such that only one can be selected at a time as long as they are in the same Container. 
    Choice 5  
    ButtonGroup g = new ButtonGroup(b1, b2, b3); 
    Sample Code 
    public static void main(String args[]){
      What is the role of the method in the code above? 
    Choice 1  
    To provide a place for initialization code when instantiating the current class. 
    Choice 2  
    It is the first method run when a class is run with the Java Interpreter. 
    Choice 3  
    It serves no specific function. It is a residual method from Java 1.0. 
    Choice 4  
    It is the first method that the Java Compiler converts to bytecode when creating a .class file. 
    Choice 5  
    To process command-line parameters when running the Java Interpreter 
    How do you create a menu item, Save, with a shortcut key of Ctrl+S? 
    Choice 1  
    You have to override the KeyPressed event of the top level Frame and handle the Ctrl+S to call the menu item's actionPerformed. 
    Choice 2  
    JMenuItem save = new JMenuItem("Save");
    save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK)); 
    Choice 3  
    JMenuItem save = new JMenuItem("Save");
    save.enableShortcut(KeyEvent.CTRL_KEY + KeyEvent.S); 
    Choice 4  
    JMenuItem save = new JMenuItem("Save");
    save.setMnemonic("Ctrl+S"); 
    Choice 5  
    JMenuItem save = new JMenuItem("Save");
    save.addShortcutKey( new KeyStroke(KeyStroke.S | KeyStroke.CTRL_KEY) ); 
    GridBagConstraints gbc1 = new GridBagConstraints(1,1,2,1,1,3,10,1,new Insets(5,5,5,5),1,1);
    gbl.addLayoutComponent(jb,gbc1); 
      In regards to the above code, which one of the following indicates jb's grid position? 
    Choice 1  
    Grid position 2,1 
    Choice 2  
    Grid position 1,2 
    Choice 3  
    Grid position 1, 1 
    Choice 4  
    Grid position 10, 1 
    Choice 5  
    Grid position 1, 3 
    GridBagConstraints gbc1 = new GridBagConstraints(1,1,2,1,1,3,10,1,new Insets(5,5,5,5),1,1);
    gbl.addLayoutComponent(jb,gbc1); 
      In regards to the above code, which one of the following indicates jb's grid position? 
    Choice 1  
    Grid position 2,1 
    Choice 2  
    Grid position 1,2 
    Choice 3  
    Grid position 1, 1 
    Choice 4  
    Grid position 10, 1 
    Choice 5  
    Grid position 1, 3 
    Which one of the following is necessary when changing an Applet to a standalone application? 
    Choice 1  
    Add a no-argument constructor. 
    Choice 2  
    Remove the init(), start() and stop() methods. 
    Choice 3  
    Remove "extends JApplet" or "extends Applet". 
    Choice 4  
    Add a main() method. 
    Choice 5  
    Change the import statement so that it imports an Application container rather than Applet or JApplet. 
    Which one of the following adds the String "Java" to the JComboBox jcb? 
    Choice 1  
    ComboBoxModel cbm = jcb.getModel();
    cbm.addItem("Java"); 
    Choice 2  
    jcb.setText("Java"); 
    Choice 3  
    ComboBoxModel cbm = jcb.getModel();
    cbm.add("Java"); 
    Choice 4  
    jcb.add("Java"); 
    Choice 5  
    jcb.addItem("Java");

    I'll have a go but I am not saying they are all correct...
    Question 1.
    Which one of the following converts the Image i into the BufferedImage bi?
    Choice 3 (assuming this implements the imageobserver interface)
    bi = new BufferedImage(i.getWidth(this), i.getHeight(this), 1);  //1 is BufferedImage.TYPE_INT_RGB
    Graphics2D g = (Graphics2D)  
    bi.createGraphics();
    g.drawImage(i,0,0,this);Good luck with your homework...
    nes
    Question 2.
    CardLayout
    BorderLayout
    FlowLayout
    GridBagLayout
    GridLayout
    Which one of the following indicates all of the layout managers (from the list above) that allow you to set the space between the components from an instance of the LayoutManager itself?
    Choice 4
    BorderLayout,
    FlowLayout,
    GridLayout
    (GridBagLayout uses GridBagConstraints to decide component spacing, card layout does not provided component spacing due to the deck nature used)
    Question 3.
    JFrame jf = new JFrame();
    jf.setSize(400,400);
    JTextField jtf = new JTextField("JTextField");
    JButton jb = new JButton("JButton");
    jf.getContentPane().setLayout( new FlowLayout(FlowLayout.LEFT,1,2));
    jf.getContentPane().add(jtf);
    jf.getContentPane().add(jb);    Which one of the following indicates the positions of the JTextField jtf and JButton jb relative to the JFrame and each other?
    Choice 3 jtf is in the top-left corner of the JFrame with jb 1 pixel to the right of it.
    Question 4
    public void drawText(Graphics2D g, String text)
         Font f = new Font("Century Gothic", Font.BOLD, 10);  
         g.setFont(f);  
         g.drawString(text, 20, 20);
    }    Given the above sample code, what happens if the "Century Gothic" font is NOT available?
    Choice 5 A default Font object is returned and is used
    Question 5.
    How must do you interact with a JTextField in order to generate an ActionEvent?
    Choice 4 Hit <RETURN> while the cursor is in the JTextField.
    Question 6.
    public class TimerTest implements ActionListener
         public static void main(String[] args)
               TimerTest test = new TimerTest();    
               javax.swing.Timer timer = new javax.swing.Timer(100,test);  
         public void actionPerformed(ActionEvent ev)
              System.out.println("Timer ticked.");  
    }    Given the above sample code, what is the result when the code is run?
    Choice 5 Nothing, the Timer is not started.
    Question 7.
    1. JSlider slider1 = new JSlider (JSlider.VERTICAL, 0, 100, 50);
    2. slider1.setPaintTicks(false);
    3. slider1.setMajorTickSpacing(10);
    4. slider1.setMinorTickSpacing(2);    What changes do you have to make to the above Sample code so that there are six Major Ticks and four Minor ticks between each Major Tick?
    Choice 4 Replace line 2 with slider1.setPaintTicks(true); Replace line 3 with slider1.setMajorTickSpacing(20); Replace line 4 with slider1.setMinorTickSpacing(4);
    Question 8.
    Which one of the following defines a set of three JRadioButtons (b1, b2, and b3) so that only one JRadioButton can be selected at a time?
    Choice 1 ButtonGroup g = new ButtonGroup(); g.add(b1); g.add(b2); g.add(b3);
    Question 9.
    Sample Code
    public static void main(String args[]){ }
    TYPO - should be public static void main(String[] args){ }
    What is the role of the method in the code above?
    Choice 2 It is the first method run when a class is run with the Java Interpreter.
    Question 10.
    How do you create a menu item, Save, with a shortcut key of Ctrl+S?
    Choice 2 JMenuItem save = new JMenuItem("Save");
    save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK));
    Question 11.
    GridBagConstraints gbc1 = new GridBagConstraints(1,1,2,1,1,3,10,1,new Insets(5,5,5,5),1,1); gbl.addLayoutComponent(jb,gbc1);
    In regards to the above code, which one of the following indicates jb's grid position?
    Choice 3 Grid position 1, 1
    Question 12
    Which one of the following is necessary when changing an Applet to a standalone application?
    Choice 1 Add a no-argument constructor.
    Choice 2 Remove the init(), start() and stop() methods.
    Choice 3 Remove "extends JApplet" or "extends Applet".
    Choice 4 Add a main() method.
    Choice 5 Change the import statement so that it imports an Application container rather than Applet or JApplet.
    mmm. not a good choice of answers. look at the following link...
    http://forum.java.sun.com/thread.jsp?forum=57&thread=218096
    Question 13.
    Which one of the following adds the String "Java" to the JComboBox jcb?
    Choice 5 jcb.addItem("Java");

  • I got this message:" Software Update Update failed Something is trying to trick Firefox into accepting an insecure update. Please contact your network provider and seek help." What on earth is this about? I am not computer savy.

    I got this message:" Software Update Update failed Something is trying to trick Firefox into accepting an insecure update. Please contact your network provider and seek help." What on earth is this about? I am not computer savy.

    taken from https://support.mozilla.com/en-US/questions/826858:
    ''This issue can be caused by the presence of leftover files in the Firefox program folder (defaults\pref) like a file all.js or firefox.js''
    ''Download a fresh Firefox copy and save the file to the desktop.
    Firefox 4.0.x: http://www.mozilla.com/en-US/firefox/all.html ''
    ''Uninstall your current Firefox version and remove the Firefox program folder before installing that copy of the Firefox installer.''
    ''Do not remove personal data if you uninstall the current version.
    It is important to delete the Firefox program folder to remove all the files and make sure that there are no problems with files that were leftover after uninstalling.''
    ''Your bookmarks and other profile data are stored elsewhere in the Firefox Profile Folder and won't be affected by a reinstall, but make sure that you do not select to remove personal data if you uninstall Firefox.''
    ''If the problem persists See also:
    https://support.mozilla.com/en-US/questions/815130?page=2#answer-185385''
    Check and tell if its working.

  • My iPad air has 32 gb, but I am down to about 3 gb.  What should (and how) I get rid of to free up space?

    My iPad air has 32 gb, but I am down to about 3 gb.  What should (and how) I get rid of to free up space?

    Are there apps you don't need or use? Delete them.
    Is there content you've downloaded from iTunes that you can delete (as long as it's available in iTUnes, you can redownload any previously purchased content)
    Do you have any large e-mails in your mailbox? Such as mails with photos.
    Do you have photos that you don't want or need anymore?
    Settings, general, usage can tell you how much space apps are taking up and that can help you choose what needs to go, what's part of the problem, etc.

Maybe you are looking for