Benutzer:Krogmann/Merker und Links

Aus SDQ-Wiki

SMTP Ports

Statt Port 25 für SMTP geht häufig auch Port 587 (SMTP Submission).

Eclipse Update Site Mirror Esslingen

For Eclipse 3.5 Galileo:

Bugzilla Upgrade Trouble

Bugzilla 3.4.x Upgrade to 3.4.y

Error:

Can't locate DateTime/Locale.pm in @INC (@INC contains: . lib/i386-linux-thread-multi lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8) at lib/DateTime.pm line 46.
BEGIN failed--compilation aborted at lib/DateTime.pm line 46.
..

Solution: Install further Perl Module which have not been recognized as dependency:

/usr/bin/perl install-module.pl List::MoreUtils
/usr/bin/perl install-module.pl DateTime::Locale

And re-run ./checksetup.pl.

see http://old.nabble.com/Bugzilla-Installation-Problem----Can%27t-locate-DateTime-Locale.pm-td26576477.html

Lines of Code Counting (LOC)

Tools

Palladio (Stand Januar 2010):

  • Gesamt 900.000 Zeilen Code
  • Reine Codezeilen: knapp 400.000 Zeilen
  • Kommentarzeilen: etwa 340.000 Zeilen

Java Memory Configuration Options

-XX:MaxPermSize=256m
-Xmx900m
-Xms256m

bin Folder of Java Project remains empty

Problem: The bin folder of an Eclipse Java project stays empty.

Maybe, beforehand you have been using an alternative builder (e.g. AspectJ Builder). If the AspectJ feature is not installed for a project configured with AspectJ (or another alternative builder), the bin is not created, but no warning or error message is issued by Eclipse.

Possible solution: Check the .project file of you project (Window>Show View>Navigator) and edit the .project file. The buildCommand and / or the project nature could be outdated.

Replace the old settings

	<buildSpec>
		<buildCommand>
			<name>org.eclipse.ajdt.core.ajbuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.eclipse.ajdt.ui.ajnature</nature>
		<nature>org.eclipse.jdt.core.javanature</nature>
	</natures>

with

	<buildSpec>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.eclipse.jdt.core.javanature</nature>
	</natures>

Ähnlichkeitsmaß/Distanzmaß für Verteilungsfunktion

User:Krogmann/R_DTW

Linux: Inhalte von Dateien rekursiv durchsuchen

find . -name "*" -exec grep -l 'zusuchendertext' {} \;

JProfiler 5 default Windows VM Arguments

  • Setting: Windows 32 bit; Sun JVM >=1.5.x
  • PATH set to C:\Programme\jprofiler5\bin\agent.jar (reboot! Windows after setting)
  • VM arguments of the application to profile:
-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:C:\Programme\jprofiler5\bin\agent.jar

Else: See JProfiler Help > Managing sessions > Starting remote sessions

JProfiler 5/6 JVM Arguments

Win32, DE, JVM >1.5

-agentpath:C:\Programme\jprofiler6\bin\windows\jprofilerti.dll

proxied handler could not be loaded

Error message: "The proxied handler for 'de....Plugin.Name' could not be loaded."

Fix: Add "." to "build.properties"; this is not done automatically by the Eclipse Plugin wizard at the "Build configuration" tab

bin.includes = [..some entries..]
               .

GQM

Paper: Basili/Caldiera/Rombach: THE GOAL QUESTION METRIC APPROACH

Zeilennummer im Java-Quellcode mit Hilfe von log4j bestimmen

log4j nutzt die von Java erzeugten Stacktraces um Zeilennummern und Methodennamen für Log-Einträge zu bestimmen. Dazu wird eine Throwable erzeugt, aus dessen Stacktrace dann die benötigten Informationen extrahiert werden.

Der folgende Code nutzt den mit log4j verfügbaren Parser:

org.apache.log4j.spi.LocationInfo locationInfo
  = new org.apache.log4j.spi.LocationInfo.LocationInfo(
    new Throwable(),
    "org.apache.log4j.Category"); // name of the (usually logger class) appearing directly above the class name to log data for in the StackTrace
System.out.println("Line Number is: " + locationInfo.getLineNumber());
System.out.println("Method is: " + locationInfo.getMethodName());
System.out.println("FileName is: " + locationInfo.getFileName());

Achtung: Das Erzeugen von StackTraces kostet Laufzeit. Siehe auch Zarar Siddiqi's Blog für eine Diskussion des Verfahrens im Bezug auf Laufzeitverhalten.

Log4j Config Datei festlegen

Als JVM Argument: -Dlog4j.configuration=file:log4j.properties

Konfiguration programmatisch festlegen [1]:

Logger root = Logger.getRootLogger();
root.addAppender(new ConsoleAppender(
   new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN)));

Duplizierte Termine in Outlook

Entfernen duplizierter Termine / Kontakte / Aufgaben in Outlook, die bspw. durch die Verwendung des Outlook OXtenders entstehen können:

Solver

  • Qsopt
  • GNUSolver

SVN neu starten

  • per SSH auf i43pc13
  • in /etc/init.d wechseln
  • ./inetd restart ausführen

Wikindx APA Stil

Thesis/Dissertation Bibliography template:

author. |(|(awardYear)%. %.%|[i]title[/i].|). |Unpublished type |label|, institution|, institutionLocation|.

--> unpublished entfernt

Apache

Konfigurationsdateien befinden sich unter /etc/httpd/sites-available auf i43www-vmw

in /etc/init.d/
 nach Veränderungen Konfiguration testen:
   ./httpd configtest
 weicher / unterbrechungsfreier Neustart:
   ./httpd graceful
 Prozesse neustarten:
   killall -SIGHUP httpd

hat sich mehr aufgehängt:
  /etc/init.d/httpd restart

Halde

i43vfs02.ipd.uka.de
/home/i43/i43-halde

Eclipse OSGI Console

Als Application Parameter in der Launch Configuration

-console -consoleLog

angeben. Auf der OSGI Konsole liefert dann bspw. ss die aktiven / geladenen Plugins.

Eclipse Command Line Options

Zope

Zope neustarten

/etc/init.d/
./zope2.9 restart

Windows Remote Desktop zugreifen

Auch wenn alle Client-Terminalverbindungen voll sind, kann man mit

mstsc /admin

Auf einen Terminalserver per Remote Desktop zugreifen.

Texniccenter

Absturz beim Starten

Fix (vlg. Latex Community):

  1. Jabref herunterfahren
  2. Texniccenter starten, trotz Absturz nicht beenden
  3. Einstellung aus dem Link vornehmen:
    • In TeXnixCenter I disabled the "save automatic" option
    • Disable "Restore last session on start"
  4. Texniccenter starten
  5. JabRef starten

PDF Betrachter (Adobe Reader) automatisch schließen

Anleitung: PDF vor der Kompilierung in TeXnicXenter automatisch schließen

  1. Im Menü Ausgabe > Ausgabeprofile definieren wählen.
  2. Unter den Profilen LaTeX -> PDF wählen.
  3. Reiter Viewer:
    1. Projektausgabe betrachten
      • Kommando: [DocOpen("%bm.pdf")][FileOpen("%bm.pdf")]
      • Server: acroview
      • Thema: control
    2. Suche in Ausgabe:
      • Kommando: [DocOpen("%bm.pdf")][FileOpen("%bm.pdf")]
      • Server: acroview
      • Thema: control
    3. Vor Compilierung Ausgabe schließen
      • Kommando: [DocClose("%bm.pdf")]
      • Server: acroview
      • Thema: control

Wichtig dabei: Vor der Änderung Adobe / Adobe Reader schließen.

Visualisierung von Java-Projekten

http://www.workingfrog.org/

Owncloud with Hosteurope SSL Proxy

For Owncloud >5.0.x see [2]

SSL-PROXY SUPPORT Hosteurope Provider with Owncloud 4.5.0/1, see source [3]

File 3rdparty/Sabre/HTTP/Request.php

Find:

Code: Select all
    public function getUri(){
    return $this->_SERVER['REQUEST_URI'];
    }



replace with:

Code: Select all
    public function getUri() {

        if ( isset($this->_SERVER['HTTP_X_FORWARDED_SERVER']) ) {
          $uri = "/" . $this->_SERVER['SERVER_NAME'] . $this->_SERVER['REQUEST_URI'];
             return $uri;
          } else {
             return $this->_SERVER['REQUEST_URI'];
       }

        }



File: lib/base.php

find: line ca. 121 /*is in function initPaths*/

Code: Select all
    OC::$WEBROOT=substr($scriptName, 0, strlen($scriptName)-strlen(OC::$SUBURI));



add after:

Code: Select all
     if ( isset($_SERVER['HTTP_X_FORWARDED_SERVER']) ) {
            OC::$WEBROOT=$_SERVER['SERVER_NAME'] . OC::$WEBROOT;
      }




File: lib/request.php function serverProtocol(){}

Replace with:

Code: Select all
    public static function serverProtocol() {
             
               
                   if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])){
                            $proto = 'https';
                    }else{
                            if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
                                    $proto = strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']);
                            }else{
                                    if(isset($_SERVER['HTTPS']) and !empty($_SERVER['HTTPS']) and ($_SERVER['HTTPS']!='off')) {
                                            $proto = 'https';
                                    }else{
                                            $proto = 'http';
                                    }
                            }     
                    }
                    return($proto);   
               
           
       }



//NEW
File lib/base.php

Find function tryFormLogin(){}

Replace

Code: Select all
     header( 'Location: '.$_SERVER['REQUEST_URI'] );
    exit();



With

Code: Select all
           if ( isset($_SERVER['HTTP_X_FORWARDED_SERVER']) ) {
                  $BACK=OC::$WEBROOT;
             header('Location: '.$BACK.'');
             exit();
             }else{
                header( 'Location: '.$_SERVER['REQUEST_URI'] );
           exit();
        }



File .htacess /*is in root of your Installation*/

Add lines after RewriteEngine on

old

Code: Select all
    RewriteCond %{REMOTE_ADDR} !^10\.9\.0\.[89]$
    RewriteRule ^ https://ssl.webpack.de/%{HTTP_HOST}%{REQUEST_URI} [R=301,L]



Host Europe has changed rewrite rules for ssl proxy
new

Code: Select all
    RewriteCond %{REMOTE_ADDR} !^10\.9\.0\.(8|9|10)$
    RewriteRule ^ https://ssl.webpack.de/%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Typo3

RewriteRule / RealURL

Problem: Im Backend von Typo3 nach Nutzung von realurl in Kombination mit .htaccess RewriteRule: "Cannot re-assign $this after server update"

Lösung: http://lists.netfielders.de/pipermail/typo3-english/2007-June/040427.html

RSS Feeds und Cross-Domain-Links

Problem: Typo3 RSS Feeds die durch TT_NEWS erzeugt werden funktionieren nicht, wenn "typolinkEnableLinksAcrossDomains" aktiviert ist. Zu erkennen ist das Problem an einem doppelten "http://www.domain.de/http://www.domain.de/derRestMeinesLinks" Präfix.

Lösung: Für RSS-Feed-Seiten müssten cross domain links deaktiviert werden. Dies geschieht über den Seitentyp der RSS-Seite (hier 100) im TypoSkript:

# RSS Feed must not have cross domain links (otherwise results in http://abc/http://abc prefix
[globalVar = GP:type = 100]
config.typolinkEnableLinksAcrossDomains = 0
[GLOBAL]

Bilder im TT_NEWS List und Latest View verzerrt

Bilder werden in der Listen und Latest-Ansicht von TT_NEWS 3.0.0 und 3.0.1 verzerrt dargestellt.

Bugeintrag mit Workaround unter: http://bugs.typo3.org/view.php?id=12994

Symbolischen Link für neue Version ändern

Für das Standard-Setup mit symbolischen Links auf typo3_src in einem getrennten Verzeichnis.

Im Typo3-Verzeichnis der Installation:

mv typo3_src typo3_src_old; ln -s ../typo3_src-4.5.4 ./typo3_src 

Funktioniert alles?

rm typo3_src_old


wget http://downloads.sourceforge.net/project/typo3/TYPO3%20Source%20and%20Dummy/TYPO3%204.5.25/typo3_src-4.5.25.zip
unzip typo3_src-4.5.25.zip
rm typo3_src
ln -s typo3_src-4.5.25 typo3_src
rm typo3_src-4.5.25.zip
rm -Rf typo3_src-4.5.23


ownCloud

Use HostEurope SSL Proxy with ownCloud 6.x.x

Update config/config.php:

 ..
 'overwritehost' => 'ssl.webpack.de',
 'overwriteprotocol' => 'https',
 'overwritewebroot' => '/my.domain.com/owncloud',
 'overwritecondaddr' => '^10\\.30\\.7\\.1(?:37|38|39|40)$',
 'trusted_domains' => 
 array (
   0 => 'ssl.webpack.de',
 ),
 ..

Upgrading ownCloud

If ownCloud updater fails (e.g. share hoster with limited execution time), update manually. This instruction is applicable for ownCloud 5.x.x and 6.x.x and a setup with installation directory and symbolic link to installation directory (Symlink: "owncloud-inst" pointing to "owncloud-6.0.X"; where the webserver delivers content from the "owncloud-inst" directory). Make a backup before updating / upgrading.

Enable ownCloud maintenance mode:

config/config.php:
<?php
$CONFIG = array (
 ..
 'maintenance' => true,
 ..

Get the latest owncloud version and extract it:

wget http://download.owncloud.org/community/owncloud-latest.tar.bz2
tar xfj owncloud-latest.tar.bz2

rename extracted owncloud folder:

mv owncloud owncloud-6.0.Y

Move data and config directory to new installation directory (including .htaccess files); ignore error message for "." and ".." devices:

mkdir owncloud-6.0.Y/data
mv owncloud-6.0.X/data/{,.}* owncloud-6.0.Y/data
mv owncloud-6.0.X/config/{,.}* owncloud-6.0.Y/config/

remove old symlink and update to new version.

rm -r owncloud-inst; ln -s owncloud-6.0.Y owncloud-inst

Disable ownCloud maintenance mode:

config/config.php:
<?php
$CONFIG = array (
 ..
 'maintenance' => false,
 ..

Installation / Setup von Postgresql

Postgresql lässt sich nicht mittels Terminal-Zugriff auf einem Windows 2003 Server installieren (allgemein Remote-Desktop-Zugriff). Für die Installation ist eine Login direkt auf dem Rechner zwingend notwendig. Achtung: Postgresql 8.2.5 warnt bei der Installation nicht vor diesem Umstand und gibt auch keine Fehlermeldung (an den Benutzer) aus, die darauf hindeutet. Im Installations-Log ist der Fehler ebenfalls schwer nachvollziehbar. Postgres 8.1.10 gibt hingegen eine Warnmeldung aus, dass Postgresql als Terminal-Benutzer nicht installiert werden kann.

Code Coverage for Java Application Server

EMMA allows testing even J2EE/JBoss Applications: http://emma.sourceforge.net/

CoCoME

Start CoCoME (Ant-File)

see readme.txt

  1. (prepare: deleteDB, optional)
  2. runInfrastructure
  3. fillDB (after changing/deleting it)
  4. runInventorySystem
  5. runReporting
  6. runCashDeskLines

reporting: see tradingsystem.properties for StoreIDs

Cause ProductExchangeAmongStores Scenario

using default database

@Store 0 (ID: 65536):
=====================
StockItem ID: 164908
Product Name: Product 160
Amount: 10
Min Stock: 9
Max Stock: 104
Incomming Amount: 0
Barcode: 937 (for use in CashDeskGUI)

In CashDeskGUI

  1. Button: Start New Sale
  2. Enter Barcode 937 into BarCodeScanner
  3. Button: Scan Item
  4. Button: Sale Finished
  5. Button: Bar Payment
  6. Enter via Buttons 200
  7. Button: ENTER
  8. Button: Close Cashbox
  9. --> ProductExchange gets triggered

PDFs mit JFreeChart erzeugen

package utilities;

import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import org.jfree.chart.JFreeChart;

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.FontMapper;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfTemplate;
import com.lowagie.text.pdf.PdfWriter;

/**
 * Utility for exporting JFreeChart objects as .pdf files.
 * Uses itext.
 *
 */
public class ChartPdfWriter {

	/**
	 * Writes a JFreeChart object to a <code>OutputStream</code>.
	 * From JFreeChart Developer guide.
	 * @param out Output stream.
	 * @param chart Chart to write.
	 * @param width Width of the graphic.
	 * @param height Height of the graphic.
	 * @param mapper Fontmapper to interface with itext.
	 * @throws IOException Is thrown by the OutputStream.
	 */
	public static void writeChartAsPDF(OutputStream out, JFreeChart chart,
			int width, int height, FontMapper mapper) throws IOException {
		// should this become A4 size instead?
		Rectangle pagesize = new Rectangle(width, height);
		Document document = new Document(pagesize, 50, 50, 50, 50);
		try {
			PdfWriter writer = PdfWriter.getInstance(document, out);
			document.addAuthor("BytecodeInstrumentation Utilities");
			document.addSubject("Performance Results");
			document.open();
			PdfContentByte cb = writer.getDirectContent();
			PdfTemplate tp = cb.createTemplate(width, height);
			Graphics2D g2 = tp.createGraphics(width, height, mapper);
			Rectangle2D r2D = new Rectangle2D.Double(0, 0, width, height);
			chart.draw(g2, r2D);
			g2.dispose();
			cb.addTemplate(tp, 0, 0);
		} catch (DocumentException de) {
			System.err.println(de.getMessage());
		}
		document.close();
	}

	/**
	 * Save a JFreeChart to a File as a .pdf.
	 * From JFreeChart Developer guide.
	 * @param file File to write to.
	 * @param chart JFreeChart object to draw.
	 * @param width Width of the object.
	 * @param height Height of the object.
	 * @param mapper Fontmapper to interface with itext. (Try DefaultFontMapper).
	 * @throws IOException Thrown when errors happen while writing.
	 */
	public static void saveChartAsPDF(File file, JFreeChart chart, int width,
			int height, FontMapper mapper) throws IOException {
		OutputStream out = new BufferedOutputStream(new FileOutputStream(file));
		writeChartAsPDF(out, chart, width, height, mapper);
		out.close();
	}

}

SVN-Verzeichnisse unter Windows rekursiv löschen

Quellen [4] [5]

Folgendes als .reg Datei in die Windows Registry importieren:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""

Webseiten kopieren / spiegeln

WinHTTrack Website Copier

PIWIK Web Analytics auf HostEurope SSL Proxy betreiben

Piwik Version 0.x

Standardmäßig funktioniert der Login bei SSL Proxies nicht. Workaround: In piwik/core/Form.php folgende Codezeilen ersetzen:

if(empty($action))
{
   $action = Piwik_Url::getCurrentQueryString();
}
parent::HTML_QuickForm('form', 'POST', $action);
..

durch:

if(empty($action))
{
   $action = "."; /* changed line */
}
parent::HTML_QuickForm('form', 'POST', $action);
..

Latex Custom Commands: Space

\usepackage{xspace}
\newcommand{\mycommand}{CommandWithRightSpaceAfter\xspace}

See: [6] [7]

Kyocera CUPS Printer

Kyocera FS-C5100DN with CUPS (Common UNIX Printing System 1.5.3):

Printer Model: Kyocera FS-C5100DN
Driver: Kyocera FS-C5100DN KPDL Foomatic/Postscript (color, 2-sided printing) 
Connection URI: ipp://<printer IP address>:631/ipp/lp1
  • Enable IPP protocol in printer web menu; restart printer! (not just soft reboot)
    • Port 631 is the default IPP port
  • Do NOT use Kyocera PPD file version 1.4 from download website but use the driver shipped with CUPS