Pierre's Tech Blog

  • rss
  • Home
  • About
  • Guestbook
  • Impressum
  • Featured Products

CakePHP at domain*go: ModRewrite problem

Pierre Krohmer | 5. Januar 2013

Recently I moved my cakePHP applications to another hoster (domaingo). After I did the set up of all needed stuff like databases e.g. I always got this error when I opened the site in my browser:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

It looked like something was wrong with mod_rewrite which cake is using. I changed nothing on the application itself and it worked perfectly at my old hoster. After a while of investigations I found out, that you can solve the problem by adding the following line in all of your .htaccess files:

RewriteBase /

You should add it after <IfModule mod_rewrite.c> so it looks like this:

<IfModule mod_rewrite.c>
    RewriteBase /
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

After that my site was working again. Hopefully my experience help somebody to safe some time.

Kommentare
Keine Kommentare »
Kategorien
Programming
Tags
cakePHP, PHP
RSS Kommentare RSS Kommentare
Trackback Trackback

Windows 8 Metro App development problem: The name “LayoutAwarePage” does not exist in the namespace

Pierre Krohmer | 24. September 2012

I just started to delevop a metro app for Windows 8 with C# and XAML. At my first steps I ran immediatly into a visual studio problem. I set up a little test project and only added a basic page. Afterwards I wanted to view it in the XAML design editor. But there is a error message:

Build the Project to update Design view.

The Design view cannot display correctly because some custom elements have not yet been built.

And in the error list I got:

Error    1    The name "LayoutAwarePage" does not exist in the namespace

I tried a clean and rebuild but nothing helped. After some search at google I found an open bug report at visual studio:

http://connect.microsoft.com/VisualStudio/feedback/details/762100/xaml-designer-doesnt-work#tabs

It's really frustrating. If someone have a solution or workaround for this problem, please let me know :-)

If you also have this problem please sign the above mentioned bug ticket to increase the priority, hopefully.

Kommentare
2 Kommentare »
Kategorien
Programming
Tags
App, C#, Metro, Windows 8
RSS Kommentare RSS Kommentare
Trackback Trackback

Erfahrungsbericht: Maxchoice Gutscheine – Lange Lieferzeit untragbar!

Pierre Krohmer | 21. September 2012

Vor kurzem habe ich durch die Verlängerung meines Spiegel Abos einen Gutschein von Maxchoice erhalten. Maxchoice bietet einen Universalgutschein an, den man auf der Seite in einen Gutschein eines beliebigen Anbieters umtauschen kann z. B. Amazon, Ikea, MediaMarkt usw. Eigentlich eine geniale Sache; anstatt auf einen Händler beschränkt zu sein hat man so die Möglichkeit unter vielen zu wählen.

Ich hatte mich für einen Amazon-Gutschein entschieden und rechnete nach der Auswahl der Umwandlung in Amazon-Gutscheine auf der Maxchoice-Seite in Kürze mit einer E-Mail und dem entsprechenden Code. Leider war nach ein paar Tagen immer noch nichts in meinem E-Mail Postfach angekommen. Ich dachte mir dann nagut Maxchoice schickt das vielleicht per Post raus und es dauert einfach ein bisschen. Also abwarten.

Nach einer Woche konnte ich nicht mehr abwarten, da ich dringend etwas bestellen wollte… und das möglichst mit den Gutscheinen… Also eine E-Mail an den Support geschrieben mit bitte um Aufklärung. Leider bekam ich nicht mehr als eine Standardantwort mit dem Hinweis, dass die Nachfrage meiner gewünschten Online-Codes größer war als erwartet und sie diese nicht wie gewohnt innerhalb von 5 – 7 Werktagen versenden können. Ich solle mich gedulden.

Wie bitte?!?!

Punkt 1: Amazon Gutscheine ist wahrscheinlich einer der beliebtesten Gutscheine, wie kann denn sowas passieren?

Punkt 2: Gutscheine sind keine Güter die Produziert werden müssen, wo liegt das Problem die bestehende Nachfrage zu befriedigen?

Naja, was will man machen. Also habe ich weiter gewartet. Nach insgesamt 2 1/2 Wochen habe ich erneut nachgefragt wie es denn nun um die Gutscheine bestellt ist. Die Antwort war genauso enttäuschend wie die Erste:

Aufgrund der starken Nachfrage kommt es zeitweise zu Verzögerungen im Liefer- und Versandprozess der von Ihnen ausgewählten Gutscheine.

Die Nachbestellung ist bereits erfolgt und wir erwarten die Lieferung in Kürze. Leider können wir Ihnen jedoch keine genauen Angaben zum Liefertermin machen. Ihre Bestellung wird unverzüglich versendet sobald die Gutscheine bei uns eingehen.

Also nochmal warten. Nach insgesamt 8 Wochen reichte es mir. Ich schrieb eine deftige Email in Form einer Mahnung mit Fristsetzung bzgl. Lieferung bzw. alternativ Barauszahlung auf mein Konto und Androhung von weiteren rechtlichen Schritten. Und siehe da 2 Tage später hatte ich meine Amazon-Gutscheine. Warum nicht gleich so?

Ich kann aus dieser Erfahrung heraus Maxchoice nicht empfehlen. Eine kleine Google-Recherche offenbart, dass ich bei weitem nicht der Einzige bin, der mit langen Lieferzeiten der Firma Maxchoice zu kämpfen hat.

Kommentare
8 Kommentare »
Kategorien
General, Reviews
RSS Kommentare RSS Kommentare
Trackback Trackback

Codesnippet: Filter line breaks from a string with java

Pierre Krohmer | 24. Juli 2012

Only a very short snippet to filter line breaks ('\n' or '\r') from a string:

String myString = "Line1\nLine2";
String newString= myString.replaceAll("\\n", " ").replaceAll("\\r", " ");

Kommentare
Keine Kommentare »
Kategorien
Programming
RSS Kommentare RSS Kommentare
Trackback Trackback

Nützliche Helfer. Meine Top 5 iPhone Apps

Pierre Krohmer | 5. Januar 2012

Jeder hat so seine Lieblingsapps, die man alltäglich benutzt. Ich möchte euch heute meine Top 5 an nützlichen Apps vorstellen, die ich sehr häufig nutze und nicht mehr missen möchte.

1. Einkaufsliste

Wie oft fällt einem ein, was man noch einkaufen muss, ist aber gerade unterwegs. Beim Einkaufen hat man es dann oft wieder vergessen. Oder kennt ihr das – beim Einkaufen aber den Einkaufzettel zuhause vergessen! Solche Szenarien gehören mit dieser App der Vergangenheit an. Das Handy ist immer mit dabei und so lassen sich hier komfortable Einkaufslisten erstellen. Durch den integrierten Barcode-Scanner lassen sich die Produkte sogar einfach per scannen auf die Liste bringen. Für mich eine der Besten Apps überhaupt.

http://itunes.apple.com/de/app/shoppinglist-einkaufsliste/id282758413?mt=8

2. Fahrplan INFO

Fahrplan Apps gibt es viele. Mittlerweile hat jedes Straßenbahnunternehmen seine eigene Lösung. Die App Fahrplan Info kann deutschlandweit Bus & Bahn Verbindungen anzeigen und berechnet zuverlässig die kürzeste Strecke von Nahverkehr oder auch den Fernverkehr der Deutschen Bahn. Dadurch ist die App insbesondere interessant, wenn man öfter mal unterwegs ist und sich in verschiedenen Verkehrsgebieten befindet.

Eine Favoritenfunktion, sowie die Verlaufsanzeige und eine Umgebungssuche runden die App ab.

http://itunes.apple.com/de/app/fahrplan-info-auskunft-fur/id372703899?mt=8

3. iVerkehr – Staumeldungen

Auch mal wieder im Stau gestanden? Wer oft mit dem Auto unterwegs ist wie ich sollte diese App unbedingt besitzen. Die Staumeldungen werden je nach Wunsch nach Bundesland oder im Umkreis der jetzigen Position gefiltert. Es lassen sich auch Straßen als Favoriten abspeichern um bei wiederkehrenden Strecken immer informiert zu sein.

http://itunes.apple.com/de/app/iverkehr-staumeldungen/id299463525?mt=8

 

 

 

4. Clever Tanken

Nochmal eine App für Autofahrer ist "Clever Tanken". Damit lassen sich die günstigsten Tankstellen im Umkreis anzeigen. Radius und Kraftstoffart für die Suche lassen sich konfigurieren. Die zugrunde liegende Datenbank, laut Aussage die umfangreichste im Web, wird von clever-tanken.de bereit gestellt und von freiwillgen Meldern befüllt. Mittels der App kann man auch selbst als Preismelder aktiv werden, indem man sich einen kostenlosen Account erstellt.

http://itunes.apple.com/app/clever-tanken/id300763441?affId=1245657&epi=3gapps&epi2=clever-tanken&ign-mpt=uo%3D2&mt=8

5. myTaxi

Eine wirklich praktische App ist myTaxi, wenn man mal wiede länger feiern war und mit dem Taxi nach Hause muss iste diese App erste Wahl. Sie zeigt auf einer Karte alle verfügbaren Taxis in der Umgebung an und  berechnet schonmal vorab die Kosten der Fahrt zum Ziel. Anschließend lassen sich die Fahrer auch bewerten. Für Poweruser lassen sich Abholadressen speichern oder auch nach bestimmten Fahrern filtern.

http://itunes.apple.com/de/app/mytaxi-fahrgast-taxi-app/id357852748?mt=8

 

Ich hoffe der eine oder andere hat auf dieser Liste auch eine seiner neuen Lieblings-App entdeckt. Was habt ihr denn so für Lieblingsapps? Kommtiert doch einfach mal! :D

Kommentare
Keine Kommentare »
Kategorien
iPhone
Tags
iPhone
RSS Kommentare RSS Kommentare
Trackback Trackback

Betrug: Bestellung bei Neckermann und Lieferung an DHL Packstation

Pierre Krohmer | 24. Oktober 2011

Vor kurzem flatterte bei mir eine Rechnung von Neckermann ins Haus über eine Spiegelreflexkamera im Wert von über 1000€. Das Ganze sollte per Ratenzahlung beglichen werden. Moment, ich habe noch nie etwas bei Neckermann bestellt und die Kamera ganz bestimmt nicht. Was war da los?

Nach Erhalt der Rechnung hatte ich sofort bei Neckermann angerufen und erklärt, dass ich dies nicht bestellt habe. Die freundliche Dame beim Kundensupport teilte mir mit, dass das jetzt an die Betrugsabteilung weitergeleitet wird und ich eine Anzeige bei der Polizei machen soll. Meine Nachfrage, warum ich keine Bestellbestätigung erhalten habe erklärte sich dadurch, dass im Kundenkonto überhaupt nicht meine Email-Adresse hinterlegt war. Der Betrüger ließ das ganze an eine Packstation in der Nähe von Köln schicken, 400 km von meinem Wohnort entfernt. Meine Vermutung ist, dass einfach jemand ein Account bei Neckermann mit meinen Daten und einer Trash-Email-Adresse angelegt und bestellt hat.

Ich war etwas verwirrt. Lieferung an eine Packstation mit meiner Postnummer. Haha, die kann ja nur ich abholen, da es passwortgeschützt ist und man das Passwort nur per Einschreiben erhält. Am nächsten Morgen habe ich direkt bei DHL angerufen. Zu meiner Überraschung teilte man mir mit, dass das Paket bereits abgeholt sei. Aha, wie war so etwas möglich? Ich gehe als Informatiker sehr verantwortungsbewusst mit meinen Passwörtern um und Pishingmails erkenne ich schon aus 100 Metern Entfernung! Nun gut, mein DHL Paketstation Konto wurde erstmal gesperrt.

Anscheinend ist irgendjemand auch an meine Packstationdaten gekommen und hat sich irgendwie Zugang zur Packstation machen können! Oder wurde gar DHL gehackt und meine Daten dort vom Server geklaut wie bei Sony usw.?!?

Am darauffolgenden Tag machte ich eine Anzeige bei der Polizei. Das Ganze wird nun an die Polizeidienststelle in Köln weitergeleitet. Man wisse nicht ob dabei was herauskommt. Die Rechnung muss ich natürlich nicht bezahlen, da ich ja nicht bestellt habe und somit kein Vertrag zustande kam. Eine Internetsuche offenbart, dass es wohl etliche Betrugsfälle in Verbindung mit einer Packstation gibt.

Für mein Packstationkonto erhielt ich vor kurzem ein neues Passwort per Einschreiben. Den Brief habe ich noch nichtmal geöffnet. Heute, drei Wochen später erhielt ich eine Email von DHL, dass eine neue Sendung in einer Packstation in Saarbrücken auf mich wartet. ALARM! Was ist hier wieder los? Sofort bei DHL angerufen. Es handelt sich um ein Paket von dem Elektronikversender Conrad. Ich habe dort natürlich auch nichts bestellt. Vermutlich diesselbe Masche. Diesmal hab ich mein DHL Packstation Konto direkt löschen lassen. Das Paket geht zurück zu Conrad. Warte aber täglich, dass da eine Rechnung ins Haus flattert. Packstation ist für mich gestorben. Egal wie die Betrüger es machen, für mich sind die Sicherheitsvorkehrungen bei DHL definitiv zu unsicher. Da verzichte ich darauf. Ich vermute, dass es irgendeine Möglichkeit gibt, die Packstation lokal zu manipulieren, sodass man an die Pakete kommt. Anders kann ich es mir nicht mehr erklären.


Meine Handlungsempfehlung:

  • Genau dokumentieren was Geschehen ist
  • Auf jeden Fall Anzeige bei der Polizei erstatten
  • Mit dem Versandhaus in Verbindung setzen und Sachverhalt erklären
  • DHL Packstation Konto sperren

Nach meiner Erfahrung solltet ihr dadurch keine weiteren Probleme bekommen. Die Rechnung müsst ihr in diesem Fall nicht bezahlen.

Kommentare
11 Kommentare »
Kategorien
General
RSS Kommentare RSS Kommentare
Trackback Trackback

Erfahrungsbericht: NAS TS-212 von QNAP

Pierre Krohmer | 20. Juli 2011

Seit gut 2 Monaten bin ich Besitzer einer TS-212 NAS von QNAP mit zwei 3 TB Platten von Hitachi. Schon lange war diese Anschaffung geplant um endlich meine Daten sicher in einem RAID 1 (gespiegelte Festplatten) abzulegen. Die Angst groß und berechtigt, dass die Festplatte eines Tages einfach mal abraucht und dann alle Bilder, Musik und persönliche Daten einfach weg sind. Der Super-GAU! Die sporadischen Backups auf eine externe Festplatte schaffen da zwar gewisse Sicherheit, jedoch ist das prozedere ziemlich lästig und bei großen Datenmengen auch langwierig. Außerdem ist man ja eher faul und so werden Backups meist nur sehr stiefmütterlich alle paar Monate durchgeführt. Nicht gerade toll wenn Daten von Monaten bei einem Crash dann einfach so verloren gehen.

Die Pläne für eine NAS trage ich schon einige Jahre mit mir herum und ich habe den Markt seither doch kontinuierlich beobachtet. Die Wahl fiel schließlich auf QNAP. Unter anderem auch, weil diese NAS neben dem eigentlichen Speicherplatz auch noch jede Menge zusätzliche Services mitbringt. Im folgenden werde ich die NAS ausführlich vorstellen und meine Erfahrungen dazu schildern.

QNAP TS-212

Lesen »

Kommentare
3 Kommentare »
Kategorien
Reviews
Tags
NAS
RSS Kommentare RSS Kommentare
Trackback Trackback

Converting files to UTF-8 in a batch – a Java tool

Pierre Krohmer | 28. Juni 2011

I just wanted to upgrade a wiki to the current version. Ok, lets do it and migrate the data … crap the new version require utf8. I have to recode about 3000 files.

That was my point of origin but its a common problem you face often in IT-life. If you have only a bunch of files you can use a editor like UltraEdit or PSPad to change the file encoding. But you don't want to waste your time on recoding 3000 files. So I looked for a tool which enable you to change the encoding in a batch. But I could only find a freeware named UTF-8-Converter [1] which let you do it for one directory. Not recursively for all subdirectories. The other tool I found looks good but it was no freeware. So I decided to do it by myself with a little java programm.

 

 

 

 

Here are the features of my little programm:

  • Convert and copy the files from source to destination directory
  • Copy all files in a big batch
  • Supports subdirectories

The main function in my program is the recodeFile method:

	
/**
 * Recode the given file
 * 
 */
private void recodeFile(File inputFile) {
	String dest = dirOutput.getAbsolutePath() + getRelativePath(inputFile);
		
	String encoding = detect(inputFile);
	// check current encoding
	if(encoding != null){
		if(encoding.equals("UTF8")){
			// only copy file
			try {
				FileUtils.copyFile(inputFile, new File(dest));
			} catch (IOException e) {
				e.printStackTrace();
			}
			return;
		}
	}
	
	// recode file
	try {
		System.out.println("Try reading: ".concat(inputFile.getAbsolutePath()));
		String data = FileUtils.readFileToString(inputFile);
		File outputFile = new File(dest);
		FileUtils.writeStringToFile(outputFile, data, "UTF8");
		System.out.println("Write file: ".concat(outputFile.getAbsolutePath()));
	} catch (IOException e) {
		e.printStackTrace();
	}
	
}

In this method I first check the current encoding of the file and do only copy it to the destination folder if it's already UTF-8 or the encoding cannot be detected. I use an external lib called juniversalchardet [3] for this task. After that the recoding could take place. To simplify the file operations I used Apache Commons IO [4].

A runnable jar file and the complete source code can be downloaded here. Please do not hesitate to leave comments, report bugs or other feedback.


utf8converter V. 1.0

 


[1] http://www.softpedia.com/get/Science-CAD/UTF-8-converter.shtml


[2] http://www.rotatingscrew.com/utfcast.aspx

[3] http://code.google.com/p/juniversalchardet/

[4] http://commons.apache.org/io/

 


Kommentare
Keine Kommentare »
Kategorien
Programming
Tags
Java, Tool
RSS Kommentare RSS Kommentare
Trackback Trackback

Eclipse as IDE for developing cakePHP applications and setup the CakePHP Console

Pierre Krohmer | 9. Juni 2011

I use Eclipse PHP to develop my cakePHP applications and want to share my experiences.

Eclipse is well known in the Java World and I also work with it at my daily work in the office. So why don't use such a great IDE only for Java. The eclipse community has developed a special eclipse release for PHP developers which fits their needs. The functional range includes a powerful PHP-Editor with syntax highlighting and auto complete, HTML-Editor, and some debugging functions. 

You can download it on their homepage: http://www.eclipse.org/pdt/

For me the devoloping with eclipse works very well. I don't really miss anything.

Eclipse PHP

 

Setup cakePHP Console in Eclipse

In eclipse you can also use the cakePHP console, so there is no need to exit the IDE. You have to setup only a few things:

  • Open Eclipse External Tools Configurations (Run -> External Tools -> External Tools Configuration)
  • New Program
  • Add these setting to following tabs:

Main

Location ${workspace_loc:/cakeroot/cake/console/cake.bat}
Working Directory ${workspace_loc:/cakeroot /app}
Arguments bake

Environment

Create a new variable:

path

 

D:\Programs without Certification\xampp\php

(path to your php installation)

I hope the information helps someone! If you like it leave a comment or share on facebook! :-)

Kommentare
1 Kommentar »
Kategorien
Programming
Tags
cakePHP, Eclipse, PHP
RSS Kommentare RSS Kommentare
Trackback Trackback

jQuery star rating helper for cakePHP

Pierre Krohmer | 21. Mai 2011

I wrote a star rating helper for the cakePHP framework. The helper enable you to easily use the star rater within your views. It uses the jQuery star rating plugin from Fyneworks.com [1].

So lets see how it looks like:

star rating normal normal
star rating on hover on hover

You can see it in action at my cakePHP sandbox. There you can rate a movie. The possible ratings are stored in the database so you can create a new rating to extend the rater dynamically. Of course it's also possible to use the star rating without an database backend so you just have to provide an array with options.

Features:

  • Provides an easy to use star rating widget
  • Fully compatible with the cakePHP framework
  • Restore its selection if the form validation fails
  • Shows values on hover
  • Provides options for configureing the element
  • Switch label on or off
  • Set preselected value
  • Make the element read-only

Usage:

  • Download and extract the star-rating-helper.zip
  • Copy the src folder to your cake app directory
  • If you have not yet included jQuery in your app do that first 
    • You can download it at www.jquery.com
    • Then you have to include the js file in your view or layout
  • Include the rating helper in your controller
var $helpers = array('Rating');
  • In your view you can use it like this:
    echo $this->Rating->star('field_name', 'model_name', $data_array);
    // $data_array is a key->value pair
    
    // e.g.:
    echo $this->Rating->star('rating_id', 'Movie', $ratings);
    
    // or with options: 
    echo $this->Rating->star('rating_id', 'Movie', $ratings, array(
       'label' => 'My rater',   // Individual label
       'no_label' => false,		   // No label will be created
       'hover' => false,		   // Hover function on or off 
       'show_selection' => false, 	   // Show the value of the selection
       'selected_value' => 5,	   // preset selected value
       'read_only' => false,		   // make rater read-only
       'style' => margin-left: 3px;);   // css style of the surrounding div element

 

Here is a complete example with controller code:

Controller:

	
function add() {
  if (!empty($this->data)) {
    $this->Movie->create();
    if ($this->Movie->save($this->data)) {
	$this->Session->setFlash(__('The movie has been saved', true));
	$this->redirect(array('action' => 'index'));
    } else {
        $this->Session->setFlash(__('The movie could not be saved. Please, try again.', true));
    }
  }
  $ratings = $this->Movie->Rating->find('list', array(
    'order' => array('Rating.rating_order'))
  );
  $this->set(compact('ratings', 'genres'));
}

View:

echo $this->Rating->star('rating_id', 'Movie', $ratings);

You will find examples for edit and view at the readme file in the zip.

 

Please do not hesitate to leave Feedback, comments, report bugs or request new Features!

 

Download:

[25.05.2011] Star rating helper V. 1.1.0

 

Roadmap:

  • Provide an option to disable the cancel button (hide the button)
  • Support for split stars
  • some other stuff :-)

 

[1] jQuery Star Rating Plugin

[2] My cakePHP sandbox

[3] CakePHP Framework

 

Update:

For better understanding I provide the code used on my cakePHP sandbox:

Download sandbox code

Kommentare
18 Kommentare »
Kategorien
Programming
Tags
cakePHP, helper, PHP
RSS Kommentare RSS Kommentare
Trackback Trackback

« Previous Entries

Categories

  • General
  • iPhone
  • Programming
  • Reviews

Tags

App C# cakePHP Eclipse helper iPhone Jailbreak Java Metro NAS PHP Tool Windows 8

Archive

  • Januar 2013
  • September 2012
  • Juli 2012
  • Januar 2012
  • Oktober 2011
  • Juli 2011
  • Juni 2011
  • Mai 2011
  • April 2011

Blogroll

  • IT-Trends-Blog
  • Sven's developer blog

Advertisement

Meta

  • Anmelden
  • Beitrags-Feed (RSS)
  • Kommentare als RSS
  • WordPress.org
rss RSS Kommentare valid xhtml 1.1 design by jide powered by Wordpress get firefox