Benutzer:Krogmann/Merker und Links
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:
- http://ftp-stud.hs-esslingen.de/pub/Mirrors/eclipse/releases/galileo/
- http://ftp-stud.hs-esslingen.de/pub/Mirrors/eclipse/technology/epp/packages/galileo/
- http://ftp-stud.hs-esslingen.de/pub/Mirrors/eclipse/eclipse/updates/3.5/
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.
Lines of Code Counting (LOC)
Tools
- Eclipse Metric Plugin Ausführliche Informationen aber nicht für viele Java-Projekte zu gebrauchen
- CLOC Kommandozeilenwerkzeug (Probleme mit hohen Verzeichnistiefen)
- Lines Of Code Wichtel Nur wenige Metriken; stabil
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
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:
- http://www.schultz-it.de/outlook_tools_Funktionen.htm (kommerziell)
- http://www.download.com/3001-2369_4-10632228.html Anti-Dupe (erfordert kostenlose Registrierung)
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.
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):
- Jabref herunterfahren
- Texniccenter starten, trotz Absturz nicht beenden
- Einstellung aus dem Link vornehmen:
- In TeXnixCenter I disabled the "save automatic" option
- Disable "Restore last session on start"
- Texniccenter starten
- JabRef starten
PDF Betrachter (Adobe Reader) automatisch schließen
Anleitung: PDF vor der Kompilierung in TeXnicXenter automatisch schließen
- Im Menü Ausgabe > Ausgabeprofile definieren wählen.
- Unter den Profilen LaTeX -> PDF wählen.
- Reiter Viewer:
- Projektausgabe betrachten
- Kommando: [DocOpen("%bm.pdf")][FileOpen("%bm.pdf")]
- Server: acroview
- Thema: control
- Suche in Ausgabe:
- Kommando: [DocOpen("%bm.pdf")][FileOpen("%bm.pdf")]
- Server: acroview
- Thema: control
- Vor Compilierung Ausgabe schließen
- Kommando: [DocClose("%bm.pdf")]
- Server: acroview
- Thema: control
- Projektausgabe betrachten
Wichtig dabei: Vor der Änderung Adobe / Adobe Reader schließen.
Visualisierung von Java-Projekten
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
- (prepare: deleteDB, optional)
- runInfrastructure
- fillDB (after changing/deleting it)
- runInventorySystem
- runReporting
- 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
- Button: Start New Sale
- Enter Barcode 937 into BarCodeScanner
- Button: Scan Item
- Button: Sale Finished
- Button: Bar Payment
- Enter via Buttons 200
- Button: ENTER
- Button: Close Cashbox
- --> 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
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
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}
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