2010-05-10



2010-01-01

Fin kille


Jag o W på Waynes

2009-12-04

Lost skills

Have not kept up with Linux for trouble shooting.
  • top -p
  • In top; type 'H' for thread info
  • Do gcore pid
  • In gdb, info threads

2009-07-29

Slöskejt



2009-07-02

Lofoten


Fint, eller hur?

2008-10-09

Boulder


Vet ej var. Får fråga Viv

2008-09-26

Test SMTP service

To test the SMTP service, follow these steps:
1. Telnet localhost 25
2. Type helo me, and then press ENTER.
The output resembles the following:
250 OK
3. Type mail from:email@domain.com, and then press ENTER.
The output resembles the following:
250 OK - mail from
4. Type rcpt to:youremail@yourdomain.com, and then press ENTER.
The output resembles the following:
250 OK - Recipient
5. Type Data, and then press ENTER.
The output resembles the following:
354 Send data. End with CRLF.CRLF
6. Type Subject:This is a test, and then press ENTER two times.
7. Type Testing, and then press ENTER.
8. Press ENTER, type a period (.), and then press ENTER.
The output resembles the following:
250 OK
9. Type quit, and then press ENTER.
The output resembles the following:
221 Closing Port / Mail queued for delivery

2008-08-15

Running RealmBase from command line

To create a MD5 digest for a encrypted password in tomcat run the script digest.bat -a MD5 s3cret from the {catalina.bin}

2008-08-13

Using JDBCRealm in tomcat

Add the following to conf/server.xml :
- <!-- uncomment if digests should be used (i.e. encrypted passwords)
digest="MD5"
-->
<Realm className="org.apache.catalina.realm.JDBCRealm" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/schemaName" connectionName="dbUser" connectionPassword="dbPasswd" userTable="user" userNameCol="alias" userCredCol="password" userRoleTable="user_roles" roleNameCol="role_name" />

Remember to put the JDBC-drivers jar in ${cataline.home}/lib.

2008-08-12

Blazeds in tomcat

When using blazeds with tomcat. Do the following to make authentication/authorization work:
Copy the files flex-tomcat-common.jar and flex-tomcat-server.jar to the directory ${catalina.home}/lib/blazeds.
Edit the file and add the following to the property common.loader ${catalina.home}/lib/blazeds/*.jar
Edit the META-INF/contex.xml file (or if running from inside netbeans c:\Documents and Settings\you\.netbeans\6.1\apache-tomcat-6.0.16_base\conf\Catalina\localhost\ROOT.xml ) and add the following:
<Context path="">
<!-- Enable the TomcatValve for custom login support from this webapp.
-->
<Valve className="flex.messaging.security.TomcatValve" />
</Context>

2008-08-03

Halvtom eller halvfull?


Det är frågan.

2008-07-29

Igen och igen



2008-07-28

Man behöver inte ens anstränga sig



2008-07-27

Solnedgång vid Torp


På Öa

Biotop för öbor


Snart på Öa

2008-06-02

Lunch



2008-05-27

Combobandets eminenta blås



Det viktigaste:)


Kakan

Kollega



Gott gottigottgott



2008-05-19

Hitta "Port in use" utan lsof

Om någon har snott din port och du inte har tillgång till lsof kan du köra scriptet pcp.
Kräver dock att du är root.

2007-11-21

Exceptions for action - Java World

En artikel om exceptions Exceptions for action - Java World. Rätt likt det vi gjorde hos Telenor.

2007-05-07

Många SYN_SENT på ditt system

Solaris 10 har en flagga som heter tcp_rst_sent_rate_enabled. Om denna är ett så kommer inte systemet skicka mer än tcp_rst_sent_rate RST paket per sekund. Detta kan medföra långsamma starter av system som provar att ansluta till sockets där ingen lyssnar.
ndd /dev/tcp tcp_rst_sent_rate_enabled

I hate X

Oh how I hate XWindows. Anyways here's my minimal .Xresources:

*visualBell: trueDtterm*menuBar: false

2006-10-26

Back in business

On my last assignment my blog was blocked in the customers web-proxy. I tried to find out why but could not get an answer. Also my homepage http://members.chello.se/clmbrdude was
blocked.

Anyway I'm back.

2005-09-30

Port in use

Använd TCPView för att hitta vilket program som har snott rmiregistry porten.

2005-09-29

Expiring Stateful SessionBeans from servlet container

When a users session expires in the Servlet container (Tomcat) we want to remove the session's handles to stateful session beans in the EJB container (Jboss). To achieve this we have implemented a HttpSessionListener which does the following:

public void sessionDestroyed(HttpSessionEvent ev) {

HttpSession session = ev.getSession();

Handle ejbHandle = (Handle) session.getAttribute("ejbHandle");

EjbHome ejbHome = (EjbHome) lookupHome

("EjbHome",EjbHome.class);

ejbHome.remove(ejbHandle); // It fails here

}

When the session expires we get the following error in the server.log:
2005-09-28 15:12:03,386 ERROR [org.jboss.ejb.plugins.SecurityInterceptor] Authentication exception, principal=null
. It seems like we don't have permission to call the remove method in the bean. We have configured security for all beans in the ejb-jar.xml using the statements.
We suspect that the sessionDestroyed method is called from a thread
which is not associated with a user, i.e. not authorized to run any
methods in the EJB-layer.
Any suggestions for how to implement expiration of Stateful session
beans from the web-layer?

2005-09-20

Wired 11.12: Bill Joy quote on democracy

Wired 11.12: 'Hope Is a Lousy Defense.': "Democracy is about individuals giving up the ability to do whatever they want so that everybody can have some rights."

2005-09-08

IllegalArgumentException i PropertyUtils

Om du får detta felmeddelande när du kör struts:



java.lang.IllegalArgumentException: No bean specified
at org.apache.commons.beanutils.PropertyUtils.
getPropertyDescriptor(PropertyUtils.java:837)
at org.apache.commons.beanutils.BeanUtils.
setProperty(BeanUtils.java:934)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
at org.apache.struts.action.RequestProcessor.
processPopulate(RequestProcessor.java:805)


Så är det säkert så att du har glömt göra "new" på en "nested property". T.ex. om du har en Button() som skall ha en x och en y property.

2005-09-01

Buildproblem



class A {
  A(B b) {
  }
}
class B extends C {}
class C {}
class D {
  m() {
    A a = new A(B);
  }
}


Ändra A till


class A {
  A(C c) { }
}


D kompilerades inte om och det blev runtimefel i class D.

2005-08-30

Visa alla stored procedures i SQL-server

Hittade en liten artikel här om hur man listar alla stored procedures i en SQL-server databas.
I korthet ser det ut så här:


SELECT
ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
AND OBJECTPROPERTY
(
OBJECT_ID(ROUTINE_NAME),
'IsMsShipped'
) = 0
ORDER BY ROUTINE_NAME

2005-08-23

Svar från Hammarby sjöstad

Så här svarade man på min fråga om skatestoppers:


Hej
Jag har fått ditt mail vidarebefordrat från Erik Freudenthal.
Tyvärr är det så att fontänen och framför allt bassängen helt enkelt har blivit förstörd av skejtare. Stenarna har gått sönder och fogar har lossnat så att bassängen har börjat läcka. Den tål helt enkelt inte den påfrestningen och ibland vandaliseringenn som skejtarna utsätter den för. Fontänen är ju inte heller avsedd att fungera som en skejtanläggning heller, då hade man ju byggt något som var avsett för den här målgruppen.
För att skydda bassängen och fontänen och få dem att fortsättningsvis fungera har vi sett oss tvungna att montera på sk skatestoppers på kanten.

Hälsningar
Kristina Menyes

2005-08-22

Google

Det går inte att få träff på varken denna blogg eller min hemsida via google så nu prövar jag att ta bort länken till min hemsida från denna blogg.
Skall testa om det är min hemsida som Google har svartlistat.

2005-08-19

Escapa XML för att visa i HTML

För att skriva föregående artikel använde jag detta lilla verktyg.

Server Test Case

Jag hittade ett litet ramverk för att köra Unit tester inne i EJB containern. Finns att ladda ner här.
Det fiffiga med detta ramverk är att man kan skriva helt vanliga unittester. Det enda man behöver göra i sin kod är att extenda ServerTestCase istället för TestCase, sedan deployar man Test-klassen i sin EJB-container. Klassen kan sedan köras som en vanlig JUnit, den lokala kopian av klassen kommar att anropa den kopia som finns inne i ejb containern. Mycket elegant tyckte jag.

Ramverket var nog skrivet för Weblogic men jag anpassade InitialContext parametrarna så att de funkar i JBoss.
Förutom de anvisningar som finns i paketet så måste man:

  1. Lägga till junit.jar i ${JBossDir}/server/default/lib
  2. Konfigurera ejb.xml samt jboss.xml så att unit testerna kan nå de resurser de behöver (t.ex. JDBC connections).

Ungefär så här ser mina xml filer ut:

ejb.xml
=======
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>
junit.framework.ejb.TestRunnerSession
</ejb-name>
<home>junit.framework.ejb.TestRunnerSessionHome</home>
<remote>junit.framework.ejb.TestRunnerSession</remote>
<ejb-class>
junit.framework.ejb.TestRunnerSessionBean
</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<env-entry>
<description>UserActionLog</description>
<env-entry-name>UserActionLogClass</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>
theapp.model.dao.UserActionLogDAOOracle
</env-entry-value>
</env-entry>
<resource-ref>
<res-ref-name>jdbc/OraclePool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</session>
</enterprise-beans>
</ejb-jar>

jboss.xml
=========

<jboss>
<enterprise-beans>
<session>
<ejb-name>junit.framework.ejb.TestRunnerSession</ejb-name>
<jndi-name>junit.framework.ejb.TestRunnerSession</jndi-name>
<resource-ref>
<res-ref-name>jdbc/OraclePool</res-ref-name>
<jndi-name>java:/jdbc.OracleData</jndi-name>
</resource-ref>
</session>
</enterprise-beans>
</jboss>



2005-08-18

Note to self junit.jar

Hittade ett väldigt trevligt ramverk för att köra unit tester i EJB-container.
Suttit och bråkat i flera timmar med ett ClassNotFoundException tills jag insåg felet. Junit.jar måste ju finnas i classpath för Jboss. Dummkopf!

2005-08-16

EJB Unit test

Satt och implementerade nya funktioner i en DAO. Eftersom jag inte implementerat klient eller ens något interface som utnyttjar funktionaliteten i DAO ville jag skapa ett unit test för att kunna pröva om det funkade.
Jag hamnade rakt i EJB elände, basklassen till alla DAO:er implementerar en funktion, getConnection, som hämtar en connection och denna gör detta get InitialContext o.s.v. i EJBContainern.
Hittade en workaround till detta. Jag skapade en ny inre klass i Unittestet som implementerade om getConnection och skapar en JDBC connection på enklaste sätt. Jag var dessutom tvungen att lägga till JDBC drivrutinen i classpath för mitt unittest.

Så här ser den inre klassen ut:

public class TestDAO extends MyDAO {
protected Connection getConnection(String datasource)
throws NamingException, SQLException {
try {
Class.forName("com.inet.tds.TdsDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return DriverManager.
getConnection(
"jdbc:inetdae:dbServer.com:1433?database=db1"
, "user", "password");
}
}

wsdl2java username

Skulle skapa ny Web-service klient igår. När man kontaktade URLen för att hämta WSDL filen så krävdes det autenticering. Försökte kolla i Axis dokumentationen hur man anger username och password när man kör wsdl2java som en Ant-task men hittade ingenting. Till slut provade jag med:

<axis-wsdl2java
output="./destdir"
url=http://secret.server.se/ws?WSDL
username="luser" password="topsecret">
</AXIS-WSDL2JAVA>


Funkade bra!

2005-08-15

M$ marketing bullshit

Sånt här får mig att inse att Microsoft verkligen är "The Evil Empire":

it (Aereo) will also enable Windows Vista and WinFX applications to generate a positive connection with users on first sight, on first use, and over the long term...

Får man betalt för att skriva sånt dravel, och vad är meningen med det? Alla inser ju att det bara är marketing bullshit, varför publicera det?

Luma

Skickade mail till Hammarby sjöstads hemsida samt till ordförande i Marknämnden, Leif Rönngren för att fråga om vem som beslutat om skate stoppers i Luma fontänen. Får se om de svarar. Så här såg mailet ut:
Hej,

Jag såg att fontänen i vid Luma hållplatsen har utrustats med s.k. "skate stoppers" dvs små metallbitar som skall hindra ungdomar från att skata där.
Varför, och vem beslutar om sådant?
Jag måste säga att metallbitarna är betydligt fulare än de skador som skateboardarna ger.
Att sätta metallbitar för att förhindra skateboarding är som att sätta upp järnrör på en äng för att förhindra fotbollsspel. Stämmer inte detta väldigt dåligt med de insatser som borde göras för öka ungdomars fysiska aktivitet? Skateboard är en av de få spontanidrotter som ungdomar ägnar sig åt.

Vem kan svara på varför detta görs?

Med tack på förhand!

Kan inte jobba

Nätet nere hela förmiddagen. Ett kort i Core switchen skall ha rykt.