Google Website Translator Gadget

jueves, 29 de marzo de 2012

LDAP errors

Microsoft Active Directory
Microsoft Active Directory
Al intentar fer les connexions des de Tomcat a LDAP m'he trobat amb molts errors.
Aquí hi ha una pista del que signifiquen aquests errors i com generar-los i capturar-los:

[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, 
comment: AcceptSecurityContext error, data 52e, v1db1]

Error Code Description Java Exception
34 - 0000208FProblem 2006 DN (distinghishedName) not foundInvalidNameException
525 user not found
52e invalid credentials
530 not permitted to logon at this time
531 not permitted to logon at this workstation
532 password expired (remember to check the user set in osuser.xml also)
533 account disabled
701 account expired
773 user must reset password
775 user account locked



 Informació addicional:

Java - JNDI LDAP exceptions

domingo, 25 de marzo de 2012

CSS style definition

CSS3 logo
http://www.w3.org/Style/CSS/
Aconseguir un CSS adient porta feina si ho fas tu mateix. Apart d'uns enllaços que he consultat aquest es el resum que utilitzo.

P {text-indent: 10pt}
Ruleset identifies selector or selectors and declares style which is to be attached to that selector or selectors.
P {text-indent: 10pt} is a CSS rule
@At-rule is a rule that applies to the whole style sheet and not to a specific selector only.
@font-face
/* declaració */
.footnote {font: 70%}

<P CLASS=footnote>And so is this</P> 
Class selector "."
Especifica una selecció de estil.
S'utilitza amb el atribut CLASS i pot estar associat a qualsevol element i repetir-se tantes vegades com calgui.
#abc123 {color: red;}
<P ID=abc123>This and only this
element can be identified as abc123
</P>
ID selector: "#"
identifica de manera unica un element. No pot repetir-se. Acostuma a identificar una àrea de la pàgina.
Es declara amb #.  
P .footnote {color: red}
Any element with CLASS footnote will be red but only if it occurs in the context of P
BODY ~ P {background: red;}
<BODY><P>Red paragraph </P></BODY>
Parent-child selectors are created by listing two or more tilde (~) separated selectors.
The P element will be declared the specified style only if it directly descends from the BODY element

http://www.hwg.org/resources/faqs/cssFAQ.html

sábado, 24 de marzo de 2012

Apache log4j 1.2 - Pattern Layout

http://logging.apache.org/log4j/1.2/
Un de les coses que més amoinen es la publicació dels errors i amb log4j es possible, però a més permet cert control sobre el format de publicació.
Encara que normalment la majoria de gent no perd el temps i còpia un format, el pots consultar aquí o a la pàgina original log4j 1.2 PatternLayout



Examples:
%r [%t] %-5p %c %x - %m%n
%-6r [%15.15t] %-5p %30.30c %x - %m%n
%-4r [%t] %-5p %c %x - %m%n.

%rUsed to output the number of milliseconds elapsed from the construction of the layout until the creation of the logging event.
%tUsed to output the name of the thread that generated the logging event.
%pUsed to output the priority of the logging event.
%cUsed to output the category of the logging event.
%xUsed to output the NDC (nested diagnostic context) associated with the thread that generated the logging event.
%X{key}Used to output the MDC (mapped diagnostic context) associated with the thread that generated the logging event for specified key
%mUsed to output the application supplied message associated with the logging event.
%MUsed to output the method name where the logging request was issued.
%nUsed to output the platform-specific newline character or characters.
%CUsed to output the fully qualified class name of the caller issuing the logging request. For example, for the class name "org.apache.xyz.SomeClass", the pattern %C{1} will output "SomeClass".
%dDate of the logging event.
The date conversion specifier may be followed by a date format specifier enclosed between braces. For example, %d{HH:mm:ss,SSS} or %d{dd MMM yyyy HH:mm:ss,SSS}.
If no date format specifier is given then ISO8601 format is assumed.
For better results it is recommended to use the log4j date formatters. These can be specified using one of the strings "ABSOLUTE", "DATE" and "ISO8601" for specifying AbsoluteTimeDateFormat, DateTimeDateFormat and respectively ISO8601DateFormat.
For example, %d{ISO8601} or %d{ABSOLUTE}.
%FUsed to output the file name where the logging request was issued.
%lUsed to output location information of the caller which generated the logging event, usually consists of the fully qualified name of the calling method followed by the callers source the file name and line number between parentheses. Note:its generation is extremely slow and should be avoided unless execution speed is not an issue.
%LUsed to output the line number from where the logging request was issued.
-- left justification flag

Enllaços relacionats:

Log4j: Crear un fitxer de sortida
Appache Log4j: API Appender



Excel 2007 how to disable hyperlink format

Una de les coses que més molesta del Excel 2007 es l'autocorrecció del format que aconsegueix fer-ho il·legible.
Per a desactivar-ho:

Bótó Office / Excel options
Proofing
Ignore Interenet and file addresses
Autocorrect Options / Autoformat

jueves, 22 de marzo de 2012

Windows 7 y multihoming

Windows 7 logo
http://windows.microsoft.com/
Si en mig d'un projecte apareix la necessitat de dispossar de diverses adreces IP en un sol equip amb Windows 7.... patiràs!!!

Però hi ha algú que ja s'ha encarrega d'investigar-ho per tu.... "The Cable Guy"

dona-li un cop d'ull a technet.microsoft.com-Multihoming on les comandes clau seran:

netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled
netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled
netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled
netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled

martes, 20 de marzo de 2012

Struts2: Avaluant "if"

Després de veure uns quants exemples i confirmar que tothom es copia exemples trivials uns dels altres, he decidit crear el meu propi exemple.
- Com avaluar el resultat de una action i decidir que fer. La clau trivial es trova en...

<s:if test='%{AksForValue!=""}'>

On AskForValue es el public String getAksForValue() de torn...


I problema solventat !!!!

lunes, 19 de marzo de 2012

Apache logging with log4j (Apache log4j 1.2)

http://logging.apache.org/log4j/1.2/
Disponible a Apache log4j 1.2 la versió 1.2 es la darrere versió estable i es un dels loggers més habituals per el rendiment i la facilitat d'ús.
Segons indica la pròpia pàgina un 4% del codi desenvolupat es dedica a logging per a facilitar la depuració, així que cal que sigui planificar acuradament.




Creació del Logger:Es important saber que la crida al mètode  getLogger retornarà exactament la referència al mateix objecte logger.
Exemple:
   Logger x = Logger.getLogger("wombat");
   Logger y = Logger.getLogger("wombat");


x i y es refereix exactament al mateix objecte logger.
Això es fonamental!! ja que no cal arrosegar com a paràmetre per tot el codi el Logger.

Nivells de log.Les peticions de Logging es fan invocant un dels metodes de print de una instància logger. Però a més la petició estarà activa si el nivell actiu es > o = al del logger.
Per tant ens cal conèixer els nivells standard i l'ordre:
TRACE < DEBUG < INFO < WARN < ERROR < FATAL

Optimització del temps de execució:
Es pot optimitzar el temps d'execució fent un check previ del nivell habilitat amb la instrucció:
if(logTSKCat.isTraceEnabled()) {logTSKCat.trace("*-ShareEntry Generat");}

Enllaços relacionats:

Log4j: Crear un fitxer de sortida
Appache Log4j: API Appender



domingo, 18 de marzo de 2012

Blogger pasa de .com a .com.es. Com evitar-ho?

Des de avui, 17-03-2012, els dominis de blogger.com han passat a ser blogger.com.es

Per a evitar-ho existeix (ja veurem durant quant temps!) la opció /ncr i podeu veure com fer la redirecció de manera automàtica al blog:
http://caballe.cat/wp/com-evitar-la-redireccio-a-bloggercomes/#actualitzacio

A la part de plantilla / Modificació de HTML:
<head>
<script type="text/javascript">
if ((window.location.href.toString().indexOf('.com/'))=='-1')
{
window.location.href = window.location.href.toString().replace('.blogspot.com.es/','.blogspot.com/ncr/')
.replace('.blogspot.fr/','.blogspot.com/ncr/').replace('.blogspot.it/','.blogspot.com/ncr/')
.replace('.blogspot.de/','.blogspot.com/ncr/').replace('.blogspot.co.uk/','.blogspot.com/ncr/')
.replace('.blogspot.pt/','.blogspot.com/ncr/');
}
</script>


Podeu trobar notícies relacionades a:
http://www.vilaweb.cat/noticia/3995630/20120317/desconcert-xarxa-lespanyolitzacio-dominis-blocs-blogger.html

http://nxwiki.blogspot.com.es/2012/03/how-to-disable-blogger-country-specific.html



viernes, 16 de marzo de 2012

La sopa de FTP, proxy i bat

FTP es un protocol de transferència (poc segur, s'ha de dir) molt utilitzat i que disposa de clients i servidors gratuïts ( Filezilla per exemple).
Un dels problemes que apareix al utilitzar aquest protocol es l'aparició de proxy entre client i servidor, ja que afecta a la forma i ordre de introduir usuaris i passwords. Si a mé s'intenta automatitzar en processos batch la complexitat augmenta....

Prova això:
open proxyserver
ftpuser@ftpserver
proxyuser
ftppass
proxypass

sábado, 3 de marzo de 2012

Java Coding Convention

Una de les coses que més amoina al començar a programar es "Coding Convention", es a dir, dins de les opcions de escriure els noms de variables, procediments, funcions... com ho faig?
Al món Java s'utilitza habitualment el CamelCase: Cada paraula s'inicia amb maiúscula sense separacions ni guions baixos.

Això es important especialment si cal escriure Java Beans...
Afortunadament entorns com Eclipse IDE et permeten afegir anàlisi del estil de codi.

ClassesNoms - UpperCamelCaseclass Raster;
class ImageSprite;
MethodsVerbs - lowerCamelCaserun();
runFast();
getDisplayName();
VariablesNoms significatius - lowerCamelCase
Els comptadors poden ser variables index tipiques.
SearchControls controlscerca;
int i;
ConstantsUpper i separades per guió baixfinal static int MAXIMUM_NUM_OF_PARTICIPANTS = 10;

Alguns links interessants:
http://www.oracle.com/technetwork/java/codeconv-138413.html
http://en.wikipedia.org/wiki/Naming_conventions_(programming)