terça-feira, 3 de agosto de 2010

Novo Site Tantam - Claudio Cardozo

Demorou, mas me rendi a "alugar" um domínio próprio... a partir de agora, meus posts estarão no site abaixo, se deliciem, plz!

Late, but I surrendered to "rent" my own domain ... from now, my posts will be at the site below, enjoy, plz!
 

Ziben - Alfarrábio

Novo Site Tantam - Claudio Cardozo

Demorou, mas me rendi a "alugar" um domínio próprio... a partir de agora, meus posts estarão no site abaixo, se deliciem, plz!

Late, but I surrendered to "rent" my own domain ... from now, my posts will be at the site below, enjoy, plz!
 
Ziben - Alfarrábio 

segunda-feira, 12 de julho de 2010

Em defesa dos forum e wiki

Nenhum processo de Qualidade e Gestão de Conhecimento é possivel sem o comprometimento dos escalões mais altos da organização; fato!

Na Oracle, o FAQ e forum são good will; faz parte do patrimônio e responde por 95% das dúvidas... olha que tremenda economia! JBoss, Eclipse, Java, todos tem wiki riquíssimos!

Sem margem para discussões, o meio mais eficiente de divulgação e busca de conhecimento técnicos hoje, são os forum e wiki's; fato! a partir do forum, geram-se documentos mais concisos, que vão para um engine mais eficiente, caso dos wiki's. Teremos algo mais sofisticado se pensarmos isso junto com CMS.

Já tive diversas experiências, muito bem sucedidas de compartilhamento de discussões e informações técnicas, incluindo clientes. Foi incrível a experiência de tempos atrás, retomar um assunto parado a 1,5 ano; não tive duvidas, tava lá! Imagina quão valiosa é a caixa de e-mails de dezenas de pessoas? Ao se desligar da empresa, normalmente se perdem ou não tem alta disponibilidade; em resumo, essas informações se perdem. Por que não usar um forum/wiki, no lugar da "praga" de e-mails? E-mail deve ter 3 pernas (send/receive/reply) e não dezenas de vai-e-volta; exceto raras exceções.

Muita coisa hoje no wiki, foram compiladas de forum; quantos buscaram informações lá?

Pra finalizar: gestão de conhecimento = preocupação com o futuro.
Se não tivessem incendiado a biblioteca de Alexandria, provavelmente, não estaríamos discutindo isso!

Em tecnologia/conhecimento, temos 3 opções: vanguarda (visão da arte), contemporânea/moderna (estado da arte) ou obsolescência/obsoleto (histórico). Ou tá na frente, no bolo, ou ficou pra trás!

sexta-feira, 18 de junho de 2010

Face Recognition Security Software

A quick Google search turned up a number of projects in early development, and a couple of commercial systems with price tags in the hundreds of dollars (presumably for enterprise-level applications).

Of course, you do know biometrics are a bit of a joke, and nowhere near as secure and reliable as a good password, right? You can fool 2D facial recognition apps with a photograph. Fingerprint scanners can be fooled by a piece of tape with a lifted fingerprint, or a piece of damp paper with a photocopy of the person's fingerprint. Voice recognition software can be fooled by a digital voice recorder with a decent speaker.

And all of them will fail due to normal bodily changes. Gain or lose a few pounds, or wear a bit more or less makeup than usual, and the facial recognition software might not recognize your face. Get a cut or burn on your finger, and the fingerprint scanner won't let you log in to your computer. Catch a cold or laryngitis, and neither will voice recognition software.

On the other hand, if a password is at least eight characters, includes numbers and/or special characters, and is something you can easily remember, it will always work, and is very secure as long as you keep it in your head.

sexta-feira, 11 de junho de 2010

SELinux

A maioria dos métodos de autenticação de controle de acesso são arbitrários. O dono do objeto (seja um programa ou dado) pode alterar as permissões para outras pessoas e grupos.
Anos atrás, a Agência de Segurança Nacional (NSA) criou um projeto para aplicar “Mandatory Access Control” (MAC) dentro do kernel Linux. Este projeto ficou conhecido como “Security Enhanced Linux” ou “SELinux”. O MAC reforça as políticas de segurança que limitam o que um usuário ou programa pode fazer, e quais arquivos, portas, aparelhos e diretórios um programa ou usuário pode acessar.
SELinux tem três modos: “Desabilitado”, “Permissivo” e “Execução”. No modo “Desabilitado” nada é feito. Neste modo você tem as políticas configuradas e prontas, mas não ativas. O modo “Permissivo” registra as violações da política em arquivos de log para que você possa verificar ou monitorar. No modo “Execução” qualquer violação da política de segurança será contida.
SELinux utiliza cerca de 5 a 10% do desempenho do sistema quando no modo de Execução ou Permissivo.
Da mesma forma, o SELinux pode ser executado em uma política de “Orientada” ou “Estrita”. A política “Orientada” significa que os controles MAC apenas se aplicam a determinados processos. A “Estrita” significa que os controles MAC se aplicam a todos os processos. As pessoas devem ser advertidas de que o uso indiscriminado da política “Estrita” do SELinux pode tornar o sistema praticamente inutilizável para alguns usuários. Tem que haver um compromisso de manter o sistema seguro, mas permitindo que os usuários façam o seu trabalho.
Argumenta-se que o SELinux é um “exagero” em um sistema de um único usuário, mas com modernos exploits e o poder do “sistemas de um único usuário”, podemos encontrar mais e mais aplicações do SELinux em um desktop de um único usuário.

Ubuntu Maverick development updates

For last 2 hours, I dug through all the mails from ubuntu mailing lists, esp the announcements related to development, recalled many changes which I heard in last week or two and penned them down.
  • Ubuntu Maverick Meerkat Alpha 1 released with Linux Kernel 2.6.34-5  #
  • Ubuntu sparc and IA64 ports are candidates for decommissioning unless someone comes up to take the responsibility of maintaining it. #
  • Maverick won’t run on processors below i686 #
  • DebianImportFreeze on June 24th, Alpha 2 will come on July 1st #
  • On Alpha 1 alternate, creation of encrypted /home is broken #
  • Shotwell replaces F-Spot as Image organizer #
  • Daniel Holbach invites everyone for Operation Cleansweep. It aims to bring down bugs with patches down to 0(zero) by the time of Maverick release. #
  • Ubuntu User Days has been postponed till July 10th, 2010 #
  • Jono Bacon has invited interested people to come forward and take over Acire and PyJunior development #
  • Maverick rebased to Kernel 2.6.35-rc1 # # # (Status: Maverick (ogasawara) section)
  • Maverick will be getting 1.8 X Server due to which all drivers need to be rebuilt. It might break X when upgrading. Later in the cycle X will be upgraded to 1.9 #
  • Chromium is default for Ubuntu Netbook Remix #
  • Martin Pitt has a page for burn-down chart and work progress for Maverick Alpha 2 #
  • Lots of Software Center UI enhancements on the way #
  • Next Ubuntu Hug Day targets Gnome Games to be held on June 10th. 68 New bugs, 28 Incomplete and 14 Confirmed. #
  • Aptitude has been removed. Though it is still available in repos. #

quinta-feira, 10 de junho de 2010

The Thing King

The Thing King and the Paging Game

This note is a formal non-working paper of the Project MAC Computer Systems Research Division. It should be reproduced and distributed wherever levity is lacking, and may be referenced at your own risk in other publications.

Rules

  1. Each player gets several million things.
  2. Things are kept in crates that hold 4096 things each. Things in the same crate are called crate-mates.
  3. Crates are stored either in the workshop or the warehouses. The workshop is almost always too small to hold all the crates.
  4. There is only one workshop but there may be several warehouses. Everybody shares them.
  5. Each thing has its own thing number.
  6. What you do with a thing is to zark it. Everybody takes turns zarking.
  7. You can only zark your things, not anybody else’s.
  8. Things can only be zarked when they are in the workshop.
  9. Only the Thing King knows whether a thing is in the workshop or in a warehouse.
  10. The longer a thing goes without being zarked, the grubbier it is said to become.
  11. The way you get things is to ask the Thing King. He only gives out things by the crateful. This is to keep the royal overhead down.
  12. The way you zark a thing is to give its thing number. If you give the number of a thing that happens to be in a workshop it gets zarked right away. If it is in a warehouse, the Thing King packs the crate containing your thing back into the workshop. If there is no room in the workshop, he first finds the grubbiest crate in the workshop, whether it be yours or somebody else’s, and packs it off with all its crate-mates to a warehouse. In its place he puts the crate containing your thing. Your thing then gets zarked and you never know that it wasn’t in the workshop all along.
  13. Each player’s stock of things have the same numbers as everybody else’s. The Thing King always knows who owns what thing and whose turn it is, so you can’t ever accidentally zark somebody else’s thing even if it has the same thing number as one of yours.

Notes

  1. Traditionally, the Thing King sits at a large, segmented table and is attended to by pages (the so-called “table pages”) whose job it is to help the king remember where all the things are and who they belong to.
  2. One consequence of Rule 13 is that everybody’s thing numbers will be similar from game to game, regardless of the number of players.
  3. The Thing King has a few things of his own, some of which move back and forth between workshop and warehouse just like anybody else’s, but some of which are just too heavy to move out of the workshop.
  4. With the given set of rules, oft-zarked things tend to get kept mostly in the workshop while little-zarked things stay mostly in a warehouse. This is efficient stock control.
Long Live the Thing King!

terça-feira, 8 de junho de 2010

Ubuntu: luckyBackup a powerful, fast and reliable backup & sync tool

The main goal of luckyBackup, as its name states, is the creation of backups of your data.
Somebody once said:
if you haven't backed up your data is like not having them at all !! ”
That is because, based at the laws of probability, some time, for some reason, something will happen and you will lose valuable data. Another guy once said:
computer users can be divided into 2 categories:
Those that have lost data
...and those that have not lost data YET ”
I really wish you to never come to that situation.
But if you do, then I hope that you backed up your data the very last minute either by using this application or not :-)

luckyBackup is an application for data back-up and synchronization powered by the rsync tool.
It is simple to use, fast (transfers over only changes made and not all data), safe (keeps your data safe by checking all declared directories before proceeding in any data manipulation ), reliable and fully customizable.
On Ubuntu, line command, type:
$ sudo apt-get install luckybackup
After that, go on Applications->System menu...

terça-feira, 25 de maio de 2010

Ubuntu 10.04 - Abrir terminal numa determinada pasta

As vezes é necessário abrir o terminal numa determinada pasta, que por acaso estamos trabalhando nela. Ora, em vez de abrir o terminal e navegar até essa pasta não seria melhor abrir o terminal logo nessa pasta?
Isso é possível com o pacote nautilus-open-terminal que faz aparecer mais uma opção quando é clicada a tecla direita do mouse numa pasta. (screenshot acima)


Para instalar o nautilus-open-terminal, veja abaixo:
$ sudo apt-get install nautilus-open-terminal

domingo, 23 de maio de 2010

How to Convert M4A to MP3 in Linux

M4A is a popular digital audio format, most prolifically employed as the native format of iTunes. M4As can be either "lossy", meaning they give up some audio quality to shrink the file size, or "lossless", meaning they retain all the quality of, say, a Compact Disc. MP3 is the most famous and widely-used lossy digital audio format. By using the open source Sound Converter software, M4As can easily be converted into MP3 in Linux.

Difficulty: Moderately Easy

Instructions

Step 1

Use your Linux distribution's package manager to install Sound Converter and the necessary plugin (gstreamer0.10-plugins-ugly-multiverse) that enables MP3 encoding. Each package manager is different, but the following steps explain the process in Synaptic Package Manager, which is used by the very popular Ubuntu, as well as all Debian-based Linux flavors.

Alternatively, you can visit the Sound Converter website and web page that distributes the plugin and simply download and install the software. (See Resources.)

If not running Ubuntu or another Debian-based distribution, skip to Step 5.

Step 2

Click "System->Administration->Synaptic Package Manager."

When the program opens, enter "Sound Converter" in the Quick Search box. Sort the list of search results by clicking the "Package" header, then find "soundconverter" in the list. Click the checkbox to the left of "soundconverter," then click "Mark for Installation." If asked to install other required packages or perform other tasks to properly install the software, click "Mark," "Apply," or equivalent.

Step 3

Enter "gstreamer" in the Quick Search box. Sort the list of search results by clicking the "Package" header, then find "gstreamer0.10-plugins-ugly-multiverse" in the list. (The number in the file name can be different.) Click the checkbox to the left of "gstreamer0.10-plugins-ugly-multiverse," then click "Mark for Installation." If asked to install other required packages or perform other tasks to properly install the software, click "Mark," "Apply" or equivalent.

Step 4

Click "Apply" in the program's toolbar. Click "Apply" again in the dialogue box that pops up and Synaptic Package Manager will install the software.

Step 5

Run Sound Converter. When the program opens, click the "Add File" button if you want to convert a single file or a group of selected, specific files; click the "Add Folder" button if you want to convert an entire folder's worth of files at once.

Step 6

Browse to and select the file(s) or folder you want to convert, then click "Open." Your file(s) will be added to the conversion list.

Click "Edit->Preferences." In the "Type of result?" section, select the MP3 file format; you can also adjust the quality of your MP3s, if you wish. Click "Close."

Step 7

Click the "Convert" button in the program toolbar and Sound Converter will convert your M4As into MP3, placing them into the same folder as the originals.

terça-feira, 18 de maio de 2010

Ubuntu 10.04 / Gnome 2.30 - Barra de localização "editável" do Nautilus

Foi lançada a nova versão do Ubuntu, 10.04 LTS - Lucid Lynx, com o Gnome 2.30.0.

Gostei que o Nautilus, que agora vem com opção de um painel de navegação extra (F3), mas a barra de localização por onde podemos digitar caminhos (diretórios) a percorrer com recurso de autocompletar não é padrão (default) e nem aparece o ícone para trocar o tipo de navegação: digitando caminhos ou clicando em botões como nomes dos diretórios. Para habilitar isso, temos duas opções:

a) Basta dar Ctrl + L -- O Ctrl+L funciona, mas, a cada sessão aberta do Nautilus, têm-se que repetir esse comando.

b) Pode-se fazer isso pelo Gconf-editor. Dê um Alt+F2, digite: gconf-editor. Abra (na "cruzinha") apps, depois nautilus e, por último, preferences. Aí, é só marcar a opção "always_use_location_entry". Pronto.

segunda-feira, 5 de abril de 2010

Java: Types of Exception

Exception come is several flavours: RuntimeExceptions, Errors, Checked and Unchecked.
Type codes used in describing Exceptions
Letter Type Parent Class Checked?
(declare throws?)
Use
R Runtime java.lang.RuntimeException N Error that can occur in almost any code e.g. NullPointerException.
E Error java.lang.Error N Serious error you really should not try to catch, e.g. OutOfMemoryError.
C Checked java.lang.Exception Y Likely exceptional condition that can only occur in specific places in the code e.g. EOFException.
Collectively, RuntimeException, Error and Exception are derived from Throwable. RuntimeException is derived from Exception, which is derived from Throwable. Error is derived directly from Throwable. If you catch RuntimeException you will catch all manner of run time Exceptions (type R).
If you catch Error you will catch all manner of errors (type E).
If you catch Exception you will catch all manner of checked Exceptions and run time Exceptions (type R+C).
If you catch Throwable, you will catch everything, (Type R+E+C );
If the Exception is checked, you must either fob it off on the caller, with the throws clause or catch it yourself. Unchecked Exceptions are ones like running out of RAM that, in general you can’t do much about, or that are not associated with specific problematic code, or that are very common such as IllegalArgumentException or NullPointerException. You don’t have to catch unchecked Exceptions or explicitly fob them off on the caller with throws. The classification of an Exception is not an exact science. It is a little bit like the arbitrary assignment of gender in French or German to objects. You just have to look it up. There is a major clue, Error Exceptions end in the string “Error” while checked Exceptions and RuntimeExceptions end in the string “Exception”.
Specific Exceptions
Exception Name Type Package Notes
AbstractMethodError E java.lang  
AccessControlException R java.security This is an exception that is thrown whenever a reference is made to a non-existent ACL (Access Control
List). notes.
AccessException C java.rmi Thrown by certain methods of the java.rmi.Naming class.
AclNotFoundException C java.security.acl Thrown whenever a reference is made to a non-existent ACL (Access Control List).
ActivateFailedException C java.rmi.activation thrown by the RMI runtime when activation fails during a remote call to an activatable object.
ActivationException C java.rmi.activation  
AlreadyBoundException C javax.naming  
ApplicationException C org.omg.CORBA.portable Used for reporting application level exceptions between ORBs and stubs
ArithmeticException R java.lang Most commonly a divide by zero. notes.
ArrayIndexOutOfBoundsException R java.lang Can be handled more generically with IndexOutOfBoundsException. notes.
ArrayStoreException R java.lang Thrown to indicate that an attempt has been made to store the wrong type of object into an array of
objects. notes.
AttributeInUseException C javax.naming.directory  
AttributeModificationException C javax.naming.directory  
AuthenticationException C javax.naming  
AuthenticationNotSupportedException C javax.naming  
AWTError E java.awt  
AWTError E java/awt  
AWTException C java.awt  
BadLocationException C javax.swing.text This exception is to report bad locations within a document model.
BatchUpdateException C java.sql  
BindException C java.net Signals that an error occurred while attempting to bind a socket to a local address and port
CannotProceedException C javax.naming  
CannotRedoException R javax.swing.undo  
CannotUndoException R javax.swing.undo  
CertificateEncodingException C java.security.cert  
CertificateException C java.security.cert  
CertificateExpiredException C java.security.cert  
CertificateNotYetValidException C java.security.cert  
CertificateParsingException C java.security.cert  
ChangedCharSetException C javax.swing.text  
CharConversionException C java.io  
ClassCastException R java.lang notes.
ClassCircularityError E java.lang  
ClassFormatError E java.lang notes.
ClassNotFoundException C java.lang notes.
CloneNotSupportedException C java.lang  
CMMException R java.awt.color  
CommunicationException C javax.naming  
ConcurrentModificationException R java.util This exception may be thrown by methods that have detected concurrent modification of a backing object
when such modification is not permissible, e. g. two threads modifying a HashMap
simultaneously. notes.
ConfigurationException C javax.naming  
ConnectException C java.rmi  
ConnectIOException C java.rmi  
ContextNotEmptyException C javax.naming  
CRLException C java.security.cert CRL (Certificate Revocation List) Exception.
DataFormatException C java.util.zip  
DigestException C java.security  
EmptyStackException R java.util Thrown by methods in the Stack class to indicate that the stack is empty. Does not refer to the system
stack.
EOFException C java.io notes.
Error E java.lang Catches any serious error such as OutOfMemoryError that you unlikely can
recover from.
Exception C java.lang generic. Catches any specify Exception plus general Runtime exceptions, but not Errors.
ExceptionInInitializerError E java.lang notes.
ExceptionInInitializerError E java.lang  
ExpandVetoException C javax.swing.tree  
ExportException C java.rmi.server  
FileNotFoundException C java.io  
FontFormatException C java.awt  
GeneralSecurityException C java.security  
IllegalAccessError E java.lang notes.
IllegalAccessException C java.lang Thrown when an application tries to load in a class, but the currently executing method does not have
access to the definition of the specified class, because the class is not public and in another
package.
IllegalArgumentException R java.lang Most common exception to reject a bad parameter to a method.
IllegalComponentStateException R java.awt  
IllegalMonitorStateException R java.lang  
IllegalPathStateException R java.awt.geom  
IllegalStateException R java.lang Signals that a method has been invoked at an illegal or inappropriate time.
IllegalThreadStateException R java.lang  
ImagingOpException R java.awt.image  
IncompatibleClassChangeError E java.lang notes.
IndexOutOfBoundsException R java.lang Similar to ArrayIndexOutOfBoundsException for ArrayList.
IndirectionException R org.omg.CORBA.portable  
InstantiationError E java.lang  
InstantiationException C java.lang  
InsufficientResourcesException C javax.naming  
InternalError E java.lang  
InterruptedException C java.lang Thrown when a thread is waiting, sleeping, or otherwise paused for a long time and another thread
interrupts it using the interrupt method in class Thread.
InterruptedIOException C java.io  
InterruptedNamingException C javax.naming  
IntrospectionException C java.beans  
InvalidAlgorithmParameterException C java.security This is a GeneralSecurityException. See IllegalArgumentException.
InvalidAttributeIdentifierException C javax.naming.directory  
InvalidAttributesException C javax.naming.directory  
InvalidAttributeValueException C javax.naming.directory  
InvalidClassException C java.io notes.
InvalidDnDOperationException R java.awt.dnd  
InvalidKeyException C java.security  
InvalidKeySpecException C java.security.spec  
InvalidMidiDataException C javax.sound.midi  
InvalidNameException C javax.naming  
InvalidObjectException C java.io  
InvalidParameterException R java.security  
InvalidParameterSpecException C java.security.spec  
InvalidSearchControlsException C javax.naming.directory  
InvalidSearchFilterException C javax.naming.directory  
InvalidTransactionException C javax.transaction  
InvocationTargetException C java.lang.reflect  
IOException C java.io  
JarException C java.util.jar  
KeyException C java.security  
KeyManagementException C java.security  
KeyStoreException C java.security  
LastOwnerException C java.security.acl  
LdapReferralException C javax.naming.ldap  
LimitExceededException C javax.naming  
LineUnavailableException C javax.sound.sampled  
LinkageError E java.lang  
LinkException C javax.naming  
LinkLoopException C javax.naming  
MalformedLinkException C javax.naming  
MalformedURLException C java.net  
MarshalException C java.rmi  
MidiUnavailableException C javax.sound.midi  
MimeTypeParseException C java.awt.datatransfer  
MissingResourceException R java.util  
NameAlreadyBoundException C javax.naming  
NameNotFoundException C javax.naming  
NamingException C javax.naming  
NamingSecurityException C javax.naming  
NegativeArraySizeException R java.lang  
NoClassDefFoundError E java.lang notes.
NoInitialContextException C javax.naming  
NoninvertibleTransformException C java.awt.geom  
NoPermissionException C javax.naming  
NoRouteToHostException C java.net  
NoSuchAlgorithmException C java.security  
NoSuchAttributeException C javax.naming.directory  
NoSuchElementException R java.util  
NoSuchFieldError E java.lang  
NoSuchFieldException C java.lang  
NoSuchMethodError E java.lang notes.
NoSuchMethodException C java.lang  
NoSuchObjectException C java.rmi  
NoSuchProviderException C java.security notes.
NotActiveException C java.io Thrown when serialization or deserialization is not active
NotBoundException C java.rmi  
NotContextException C javax.naming  
NotOwnerException C java.security.acl  
NotSerializableException C java.io notes.
NullPointerException R java.lang Actually a null reference exception. notes.
NumberFormatException R java.lang Commonly thrown when a String is converted to internal binary numeric format. notes.
ObjectStreamException C java.io  
OperationNotSupportedException C javax.naming  
OptionalDataException C java.io Unexpected data appeared in an ObjectInputStream trying to read an Object. Occurs when the stream
contains primitive data instead of the object that is expected by readObject. The EOF flag in the exception
is true indicating that no more primitive data is available. The count field contains the number of bytes
available to read.
OutOfMemoryError E java.lang By the time this happens it is almost too late. gc has already done what it could. Possibly some
process has just started gobbling RAM, or perhaps the problem you are trying to solve is just too big for
the size of the allotted virtual ram. You can control that with the java.exe command line switches.
ParseException C java.text  
PartialResultException C javax.naming  
PolicyError E org.omg.CORBA  
PrinterAbortException C java.awt.print  
PrinterException C java.awt.print  
PrinterIOException C java.awt.print  
PrivilegedActionException C java.security  
ProfileDataException R java.awt.color  
PropertyVetoException C java.beans  
ProtocolException C java.net  
ProviderException R java.security  
RasterFormatException R java.awt.image  
ReferralException C javax.naming  
RemarshalException C org.omg.CORBA.portable  
RemoteException C java.rmi  
RMISecurityException C java.rmi  
RuntimeException R java.lang Error that can occur in almost any code e.g. NullPointerException. Use this
when to catch general errors when no specific exception is being thrown.
SchemaViolationException C javax.naming.directory  
SecurityException R java.lang  
ServerCloneException C java.rmi.server  
ServerError E java.rmi  
ServerException C java.rmi  
ServerNotActiveException C java.rmi.server  
ServerRuntimeException C java.rmi  
ServiceUnavailableException C javax.naming  
SignatureException C java.security  
SizeLimitExceededException C javax.naming  
SkeletonMismatchException C java.rmi.server  
SkeletonNotFoundException C java.rmi.server  
SocketException C java.net  
SocketSecurityException C java.rmi.server  
SQLException C java.sql  
StackOverflowError E java.lang notes.
StreamCorruptedException C java.io ObjectStream data are scrambled. notes.
StringIndexOutOfBoundsException R java.lang Can be handled more generically with IndexOutOfBoundsException. notes.
StubNotFoundException C java.rmi  
SyncFailedException C java.io  
SystemException R org.omg.CORBA  
TimeLimitExceededException C javax.naming  
TooManyListenersException C java.util  
TransactionRequiredException C javax.transaction  
TransactionRolledbackException C javax.transaction  
UndeclaredThrowableException R java.lang.reflect  
UnexpectedException R java.rmi  
UnknownError E java.lang  
UnknownException R org.omg.CORBA.portable  
UnknownGroupException C java.rmi.activation  
UnknownHostException C java.rmi  
UnknownHostException C java.net  
UnknownObjectException C java.rmi.activation  
UnknownServiceException C java.net  
UnknownUserException C org.omg.CORBA  
UnmarshalException C java.rmi notes.
UnrecoverableKeyException C java.security  
UnsatisfiedLinkError E java.lang notes.
UnsupportedAudioFileException C javax.sound.sampled  
UnsupportedClassVersionError E java.lang notes.
UnsupportedDataTypeException C java.io undocumented. notes.
UnsupportedEncodingException C java.io  
UnsupportedFlavorException C java.awt.datatransfer  
UnsupportedLookAndFeelException C javax.swing  
UnsupportedOperationException R java.lang Use for code not yet implemented, or that you deliberately did not implement.
UserException C org.omg.CORBA  
UTFDataFormatException C java.io  
VerifyError E java.lang notes.
VirtualMachineError E java.lang  
WriteAbortedException C java.io  
ZipException C java.util.zip notes.

Java Exception: StackOverflowError

StackOverflowError Stack size too small. Use java -Xss to increase default stacksize.

These usually happen when you have recursion, a method that calls itself, perhaps indirectly via a second method. You have simply nested to deeply. Another source of the problem is calling method x() or this.x() when you meant to call super. x(), usually when inside method x. If you legitimately overflowed the stack, you may rescue yourself by getting the runtime to allocate more memory for the stack for each thread with java.exe -Xss128

terça-feira, 2 de março de 2010

Ubuntu: Revert to traditional boot splash in 9.10

I don’t know about you, but I don’t like the boot splash that comes with the new Ubuntu 9.10.  It feels unfinished and sort of random.  First there’s the black screen with white logo, then a black screen, then a glowing white Ubuntu logo and throbber on a turdy-brown background, fading into the desktop.  There’s no progress bar any more.  I liked the old way better.  Here’s how to change it back.
First we’ll disable xsplash, which is responsible for the glowing white-on-poo logo screen.  We will need to edit two files, /etc/gdm/Init/Default and /etc/gdm/PreSession/Default.  Open the first one for editing, as root:
gksu gedit /etc/gdm/Init/Default
In that file, look for these lines:
if [ -x '/usr/bin/xsplash' ];
then
/usr/bin/xsplash –daemon
fi
…and comment them out like so:
#if [ -x '/usr/bin/xsplash' ];
#then
#/usr/bin/xsplash –daemon
#fi
Save the file, then do the same to /etc/gdm/PreSession/Default.
Now we need to install and activate the old-style usplash theme.  In terminal:
sudo apt-get install startupmanager usplash-theme-ubuntu-color
Then run Startup Manager (System>Administration>StartUp-Manager).  In the Boot Options tab, make sure Show Boot Splash is selected; in the Appearance tab, select the usplash-theme-ubuntu-color theme.  Close Startup Manager, wait for it to finish its post-config tasks, and reboot.  You should see the familiar Ubuntu boot splash and startup behavior as it was in Jaunty.
If you get no boot splash at all, run Startup Manager again and check to be sure Show Boot Splash is selected; then note the Display Resolution selected in the Boot Options tab.  In a text editor, open /etc/usplash.conf and verify that the resolution specified in that file is the same.  If it isn’t, change the file, save it, and reboot again to check for proper boot splash display.

original post

quarta-feira, 27 de janeiro de 2010

15 novidades do Ubuntu 10.04 Lucid Lynx



A nova versão do Ubuntu, a 10.04, "apelidado" Lucid Lynx,  está sob intenso desenvolvimento, tendo em vista o lançamento final em 29 de Abril de 2010. Esta versão será um LTS (Long Term Support), ou seja, versão que terá suporte oficial durante 3 anos na versão Desktop e durante 5 anos na versão Server. Por isso o maior objetivo para esta versão é a estabilidade e  a correção de eventuais bugs e problemas decorrentes das inovações introduzidas em releases anteriores. Mas nem por isso deixa de conter algumas novidades que valem a pena, e os detalhes começam a surgir…
Por isso, aqui ficam 15 novidades que virão com o Ubuntu 10.04 Lucid Lynx (Lince Lúcido?!):
  • Ubuntu Music Store: Quem usa Linux e Windows, certamente sente falta no Linux de uma aplicação que lhe permita comprar música online, a partir do seu ambiente de trabalho, ao estilo iTunes, por exemplo. A Ubuntu Music Store pretende preencher essa lacuna, integrada no Rhythmbox (que será provavelmente o reprodutor de música pré-instalado), permitirá comprar e guardar no seu computador música, a partir do seu ambiente de trabalho, e através do serviço UbuntuOne poderá sincronizar essas músicas com todos os seus computadores e ainda com amigos. O Ubuntu servirá apenas como plataforma de interação entre o utilizador e o vendedor do conteúdo digital. Rumores na blogosfera afirmam que a Cannonical tem como parceira neste projeto a loja online 7Digital.


musicshop
  • Gimp será substituído pelo Pitivi: Também o leque de aplicações que acompanham o CD será alvo de mudanças. O Gimp, considerado uma aplicação apenas para usuários profissionais e avançados, e devido à sua interface demasiado complexa, não virá instalado por omissão, sendo substituído pela aplicação de edição de vídeo Pitivi (apesar do Gimp continuar instalável a partir do Centro de Software), que atualmente tem em falta algumas funcionalidades chave de um bom editor de vídeo, em comparação com projetos como por exemplo o OpenShot. A decisão está ainda envolta em polêmica e esperam-se novidades nos próximos meses…
400px-Capture-PiTiVi_v0.13.0.1
  • Melhoramentos no F-Spot para edição simples de imagem: Existem também ideias ou de melhorar o F-Spot e adicionar-lhe funcionalidades básicas de corte, edição e retoque de imagem, ou substituir esta aplicação por uma outra já com essas funcionalidades como o gThumb ou o Shotwell. O usuário comum quer apenas editar algumas fotos com retoques básicos, remoção de olhos vermelhos, cortar, um efeito de luz aqui e outro ali, e o GIMP revelava-se complexo demais para essa tarefa. Portanto, esperam-se novidades nesta área.
  • Melhor seleção de jogos: Também os jogos pré-instalados vão ser repensados. A escolha vai recair em menos mas melhores jogos. Atualmente o Ubuntu conta com variados jogos "inúteis", e não atualizados há muito tempo, além de terem um aspecto e um sentido demasiado retrô. Esta mudança era merecida. Um dos jogos a ser incluído é o gbrainyum desafiador e viciante jogo de brainstorming e estimulação mental. Existem vários jogos de qualidade nos repositórios da Ubuntu e esperemos que sejam esses mesmo a serem incluídos.
screenshot_043
  • Experiência de boot mais rápido e mais fluída: Também o boot no Lucid Lynx vai ser alvo de melhorias; já mencionei isso aqui. Sempre com o objetivo dos 10 segundos de boot no dispositivo-alvo Dell Mini v10, este vai ser melhorado e usará novas tecnologias de modo a permitir uma experiência ao ligar o seu sistema totalmente fluída, atrativa e acima de tudo, rápida, para usuários de placas gráficas Intel, Nvidia e ATi. A má notícia é que para observar todo este processo de boot do seu computador, não poderá tirar os olhos do computador. Simplesmente acontece muito depressa :-D
xsplash-3_thumb[1]
  • Projeto “100 Papercuts”: O projeto “100 Papercuts” é um projeto que pretende identificar e corrigir bugs mínimos e facilmente corrigíveis de usabilidade no Ubuntu e nas suas aplicações. Este projeto já se refletiu no Karmic Koala, e continuará nesta nova versão do Ubuntu. Bugs do ciclo Karmic, integração e acesso fácil ao Compiz (Compiz é o decorador de responsável pelos tão falados efeitos), Rhytmbox, Pitivi (ou a aplicação de vídeo que possa eventualmente substituí-la), Gwibber e Empathy serão alguns dos alvos deste projeto, e serão assim corrigidos alguns dos problemas mais proeminentes que afetam estas aplicações.
  • Nova ferramenta de Digitalização “Simple Scan”: O Ubuntu, embora muitos nunca tenham reparado, sempre trouxe instalado uma ferramenta de Digitalização, neste caso o XSane. O XSane é uma ferramenta poderosa e com elevado grau de compatibilidade, mas a sua integração no restante ambiente de trabalho e a sua interface em geral era tudo, menos amigável e de fácil uso. Por isso será desenvolvida uma nova aplicação para substitui-lo, de nome "Simple Scan", uma interface simples de utilizar para facilmente digitalizar todo e qualquer tipo de documento em todo e qualquer tipo de impressora, e iniciando esse processo através de todo e qualquer tipo de aplicação. "Simple Scan" pode ser atualmente testado adicionando este repositório e instalando em seguida pelo gerenciador de pacotes.
DocumentScanning[4]
  • Possibilidade de inclusão de uma ferramenta de backup: Esta é outra das aplicações que cada vez mais é essencial para o usuário. As propostas para a ferramenta de cópia de segurança são o Déjà-Dup e o Back in Time, ambos com suporte a backups automáticos regulares, backups seletivos para pasta/dispositivo externo/rede/Servidor online, e a restauração do sistema baseado num determinado backup. Estas são provavelmente as funcionalidades mais úteis e essenciais para a grande maioria dos usuários, e uma ferramenta como esta é sempre bem-vinda.
  • Melhoramentos no Centro de Software: O Centro de Software Ubuntu caminha rapidamente para se tornar uma das soluções mais simples para instalação/remoção de programas, em qualquer dos 3 Sistemas Operacionais principais – Windows, outras variantes Linux e Mac OS. No Ubuntu 10.04, vai se tornar um centro onde se pode instalar programas através de pacotes .deb de sites externos (substituindo o GDebi), adicionar/remover repositórios (Substituindo a aplicação Fontes de Aplicação) e poderá também atualizar o seu sistema. Confesso que estou curioso sobre as novidades do Centro de Software, a se tornar um verdadeiro centro de pesquisa e gerenciamento de aplicações, como poderão ver neste mockup:
future-lobby
  • Melhorias no visual: Não irá haver um novo tema. Ponto. Mas irão haver melhorias e correções de bugs no tema atual, e possível adição de temas propostos no CD. O pacote de fantásticos ícones Humanity será melhorado (especialmente para se tentar obter um painel apenas com ícones no estilo Humanity acinzentado). Além disso, haverão ainda algumas modificações na janela de login, para se tentar obter uma total harmonia estética em todos os componentes que formam o Sistema Operacional.
  • Indicadores de sistema: No painel superior do Ubuntu, existem vários ícones que fornecem informações sobre o sistema, e até um que condensa informações e ações das aplicações de comunicação. A ideia para o Lucid Lynx é unificar e criar uma interface comum e consistente que permite agregar informações inteligentemente. Bem, uma imagem, mesmo que um mero rascunho, permite mostrar muito melhor o conceito:
mesession
power-menu
  • (Ainda) Mais melhoras nas notificações: As notificações do Ubuntu são cada vez mais um dos melhores sistemas de notificação atuais (quer visualmente quer em termos de facilidade de integração nas aplicações). Para o Lucid, as notificações estarão presentes com um novo modo, o modo “ocupado”. Por exemplo, se estiver vendo um filme em tela cheia, não será notificado de coisas triviais como email, mensagens de chat. Já avisos de bateria fraca ou de carga da bateria, esses sim, considerados "críticos" serão mostrados. Resta também esperar pela disponibilização de uma janela de configurações. Vamos esperar...
  • screenshot_045Projeto B-Sides: O projeto B-Sides é um projeto da comunidade que pretende facilitar a instalação de um leque de pacotes (codecs, utilitários, fontes, temas, Flash, aplicações multimédia, comunicação e de produtividade), que não estão incluídos no CD do Ubuntu, mas que são igualmente úteis e essenciais, complementando assim o sistema. Bastará instalar o pacote ‘b-sides’  e todas essas aplicações serão instaladas. Para mim que instalo várias vezes o Ubuntu, esta é uma fantástica novidade, que me permitirá poupar ainda mais tempo na instalação e substituir aquela enorme linha de comandos e colar no console. A lista completa de aplicações encontra-se aqui.
  • Gnome 2.30: A versão 2.30 do ambiente gráfico Gnome trará melhoramentos gerais em todas as aplicações, incluindo o cliente de mensagens instantâneas Empathy, o gravador de disco Brasero, o leitor de documentos Evince (suporte a OCR, converter imagem em texto) e melhorias no visual dos ícones e no painel. A lista completa de objetivos, aqui.
  • Linux Kernel 2.6.32: O Ubuntu 10.04 virá com a versão 2.6.32 do Linux Kernel, o que assegura maior estabilidade, maior rapidez e maior compatibilidade de hardware. Melhorias no gerenciamento de energia e na virtualização são também esperadas.
E são estas as grandes novidades do Ubuntu Lucid Lynx. Mais virão mais com o passar dos meses, e aqui no blog é certo que as mencionaremos. Se já quiser baixar o Ubuntu 10.04, vai ter que esperar até 29 de Abril, ou tentar o Beta (somente para os apressados!). Mas se nunca experimentou o Ubuntu, faça já o download do Ubuntu 9.10 Karmic Koala ;-)