All the needed configuration parameters you can/have to to are linked below. In this entry i want to point out the use of setenv.sh.
With setenv.sh you don't have to edit the default startup script from the tomcat. This means you also can backup/store your settings on a well know place and then just create a link into the directory where your catalina.sh file is placed.
The catalina.sh script itself looks for a setenv.sh and reads it. Everything that is configured inside the setenv.sh script overwrites the default settings inside the catalina.sh.
links:
tomcate.apache.org
how to run a tomcat
how to configurate a tomcate
Saturday, 12. May 2012
howto - Apache Tomcat Configuration
Tuesday, 8. May 2012
howto - debian / ubuntu / linux mint - list all installed packages
dpkg --get-selections
With the upper command on your peferred shell you get a list of all installed packages. By using | less or | grep mypackage it is very handy to filter for criterias.
Want to know more? Follow the links below.
aboutdebian.com/packages
apt-get introduction
Wednesday, 2. May 2012
web - Re:publica12 startet heute
Das Internet droht uns zu versklaven
Mit Eben Moglen hat ein Pessimist die Konferenz der Netzoptimisten eröffnet - die Re:publica. Aber nur, um zu einem neuen Freiheitskampf aufzurufen.
Wir befinden uns auf dem Weg in ein neues Zeitalter der Zensur und sind dabei, unsere Freiheit zu verschenken - so ungefähr lautet die Prämisse des Eröffnungsvortrages der Internetkonferenz Re:publica, die am heutigen Mittwoch in Berlin begann. Eben Moglen, Professor für Rechtsgeschichte an der Columbia Law School in New York und Chefsyndikus der Free Software Foundation, warnt vor den Möglichkeiten, die das Netz Überwachern und Datensammlern eröffnet.
Quelle
Ab heute soll es auf der rp#12 hingegen bewusst kontrovers zugehen. Nicht nur die Bloggerin Anne Roth kann die innere Wende um 180 Grad förmlich "quietschen hören". Und das ist auch in der Form geplant. Auf 8 Bühnen laufen Diskussionspanels, Seminare und Vorträge gleichzeitig. Schwer, alle halbwegs interessanten Programmpunkte irgendwie zu erwischen. Noch schwerer, auf jeweils der richtigen Veranstaltung präsent zu sein. Hinterher wird man sowieso wieder hören, woanders war es spannender.
Ein paar kleine Highlights des heutigen Programms vorweg: Dr. Judith Ackermann stellt ihren Zuhörern unter dem Titel "Ich glaube, wenn Du den Kopf triffst, sind die am meisten tot" heute vor, warum Computerspiele und ihre Anwender ein mitunter völlig neues Vokabular hervorgebracht haben. Kein Wunder also, wenn sich bei den Verständigungsproblemen so viele Politiker damit schwer tun, auch nur einen Fuß aufs feindliche Gamer-Land zu setzen.
Quelle
Tuesday, 1. May 2012
web - Tizen 1.0 Larkspur SDK and Source Code Release
Today we are excited to announce Tizen 1.0 Larkspur, including the addition of new complimentary components, as well as source code that focuses on enhancing stability and performance. We believe that these updates and new offerings improve the experience for developers. We are also continuing to work on improvements and additions, and we will be doing frequent updates to the SDK and source code. There are a few additional components that we plan to add in the coming weeks, and we will continue to fix bugs and add additional features.
source
You want to start or take a deep look to the source code? Check out the source page.
Friday, 27. April 2012
web - vote for fluxbox on linuxmint.com
The blog of the linux distribution mint has started the vote "which window manager or Desktop environment do you prefer"?
Well, i don't want you to push in a direction but if you have a second, vote for fluxbox
.
tool - create php classes from a soap wsdl
Since i am working with a lot of soap services right now i searched for a tool that generates the soap classes for me. Thankts to propel and its "schema.xml" i am getting really lazy for doing such a task by hand
.
Fortunately, the internet is still a place where everything can be found, so the search engine of my choice scores and found the wsdl2phpgenerator provided by walle.
Simple WSDL to PHP classes converter. Takes a wsdl file and outputs class files ready to use.
Uses the MIT licence (http://www.opensource.org/licenses/mit-license.php)
Usage executable:
./wsdl2php -i input.wsdl -o /tmp/my/directory/wsdl
Just add -v to use the verbose mode and -n my\\namespace to add a preferred namespace.
Thursday, 26. April 2012
web - Neues Google Such Algorithmus Update betrifft 3% der deutschen Suchanfragen
Google macht ernst und geht so intensiv gegen SEO Spam Methoden vor, wie seit langem nicht mehr und versetzt damit die SEO Szene in Aufruhr. Bereits in den letzten Wochen und Monaten gab es erste Anzeichen für einen weiteren Schlag gegen Website Betreiber, die die Google Richtlinien missachten nach dem Panda Update aus dem Herbst 2011. [...]
Quelle
Klingt alles sehr verlockend. Besonders das google versuchen möchte dem großen Linkbuliding entgegen zu wirken klingt erst einmal gut. Aber letztendlich wird sich auch diese Industrie stetig selbst am Leben erhalten
.
Thursday, 19. April 2012
tool - vi moving arround
Apanding to the simple editing post i would like to add this time some hints for moving arround
- ctrl+F - scroll forward one screen
- ctrl+B - scroll backward one screen
- ctrl+D - scroll forward half a screen
- ctrl+U - scroll backward half a screen
- H - move to the home/top line of the screen
- M - move to the middle of the screen
- L - move to the last line of the screen
- + - move to the first character of the next line
- - - move to the first character of the previous line
- ? - search backward
- N - step search backward
Wednesday, 18. April 2012
web - Du gegen #ACTA: Crowdfunding von Aktionen und Materialien
ACTA ist kurz vor dem Umfallen. Gemeinsam mit anderen Akteuren, mit Nutzern und Aktivisten auf europäischer Ebene hat der Digitale Gesellschaft e.V. intensiv daran gearbeitet, dass das klappt. Damit der wankende ACTA-Riese nun endgültig kippt, brauchen wir Hilfe und Unterstützung. Wir haben ein Crowdfunding-Experiment gestartet und und sammeln Spenden über Betterplace. Dort kann uns über Bankeinzug, Kreditkarte und Paypal gespendet werden. Selbstverständlich gibt es auch weiterhin eine Spendenmöglichkeit über Bankeinzug auf unserer Webseite.
Und das ist unser Spendenaufruf:
Im Februar 2012 sind hunderttausend Menschen in über 60 Städten alleine in Deutschland auf die Straße gegangen, um gegen ACTA zu demonstrieren. Bis dahin gab es wenig politische und gesellschaftliche Debatte über die gefährlichen Nebenwirkungen des umstrittenen Handelsabkommen. Nun ist die Chance da, eine Mehrheit im EU-Parlament zu organisieren, um ACTA im Sommer dahin zu werfen, wo es hingehört: In den Papierkorb. Denn ACTA ist schädlich, intransparent und undemokratisch.
Quelle
Spenden, spenden, spenden!
Monday, 16. April 2012
tool - vi a little more basics for simple editing
I am using the vi since a few years. A few months ago i realized that i am just using a bit of the mighty power of the vi. Thats why O`Reilly's Learning the vi editor was welcomed in my house
.
I have just finised a small part of the book but found already some "new" stuff for me. Thats why this entry is a supplement to my vi knowledge. But maybe there is something for you out there too.
- :e! - returns you the last saved version of your file
- W - move forward from word by word without considering symbols and punctuation
- c2b - change two words backwards
- c$ - change to the end of the line
- cc - change the entire current line
- C - change characters from current cursor position to the end of the line
- s - substitute from current position
- S - same as cc
- R - puts you in "overwrite" mode
- ~ - change case of your letter (Upper- to Lowercase and other way)
- D - deletes from courrent position to the end of the line
- x - deletes current character
- X - deletes character before current position
- xp - delete current character ad put after curser
- y$ - yankes to the end of the line
- . - repeats last command
- O - opens blank line above curser
- J - joins two (or more) lines
- e - moves to the end of a word
Wow, after this list it is hard to believe that i am using the vi for years now, "we are absolute beginners" comes to my ears
.
Sunday, 15. April 2012
web - Geldverbrennen auf Staatsart
Weil die Staatskassen leer sind, Bundesländer und Kommunen chronisch klamm, weil so langsam auch Wenigdenkern einleuchtet, dass es “nicht gut” für die Gesellschaft ist, dass Schuldenberge den Blick zum Horizont versperren und viel Geld in den Händen ganz Weniger liegt, müssen die marktliberalen Geister neue Taktiken an den Tag legen, um die Herrschaft der liberalen Idee zu verteidigen.[...]
So idiotisch ein staatsfinanziertes Projekt auch ist, egal ob auf Bundes-, Landes- oder Kommunalebene, so viel Geld auch verschwendet wird, so findet es doch Abnehmer, die sich herzlich drüber freuen, zum vierten Male binnen drei Jahren die Straße aufreißen zu dürfen, um eine neue Rohleitung zu verlegen, neue Leitplanken anzubringen, die Straßenlaternen zu ersetzen, das ganze schön PR-wirksam darzustellen, Anträge zu bearbeiten etc. pp. Das Geld verschwindet nicht, es wird nur unsinnig eingesetzt. Hotels und Supermärkte, Asphaltleger und Werbetreibende, Zeitungsjournalisten und Caterer – sie alle bekommen ein Teil des Kuchens ab und viele hiervon sind im Kernes eines: die Klientel der FDP, die potenziellen Wähler der marktliberalsten Partei Deutschlands bzw. der Tea-Party-Bewegung in den USA. Das Problem allein besteht aber darin, dass der Bürger nur ein paar Krümel bekommt, während die Inhaber der Firmen die Cremefüllung samt Dekor genießen können.[...]
Quelle
Sehr schöner Artikel, schnappt euch ein paar Minuten Freizeit und klickt auf den Link "Quelle". Ich für meinem Teil bin schon froh, wenn das Geld wenigst im Land bleibt und nicht von Marktfreien durch Fonds außer Landes geschafft wird.
Friday, 13. April 2012
linux - how is logged in?
Open a shell and try the following command:
who
The output shows you the user, the console he is using, the datetime when he logged in and so on.
Some usefull links:
lowfatlinux.com
thegeekstuff.com
Monday, 9. April 2012
php - debug soap client
If you are using the native php soap client, just enable the trace mechanims and use the build in methods.
array_push($options, array('trace' => 1));
$myPhpSoapClient = new SoapClient($urlToWSDL, $options);
- SoapClient::__getLastRequestHeaders
- SoapClient::__getLastRequest
- SoapClient::__getLastResponseHeaders
- SoapClient::__getLastResponse
Use a logger for the output or add it at least as hidden value in your output.
PHP independent works best with a sniffer tool like wireshark
Thursday, 5. April 2012
Interfaces and const definition
To make it short, if somebody ask you to define a const variable in an interface just say no.
Just put it in an [abstract] class and use it there.
Feel free to add you comment
.
Monday, 2. April 2012
web - Eine Sozialversicherung für alle ist wirtschaftlich vernünftig
[...]
Es gibt Versicherungsleistungen und steuerfinanzierte Leistungen, Pflichtbestimmungen und Kann-Regelungen im Sozialrecht. Wer von der Agentur für Arbeit kein Geld erhält, muss sich ans Jobcenter wenden. Liegt die Rente unter dem Existenzminimum, wird zusätzliche Hilfe durch die Grundsicherung im Alter fällig. Die Behandlung des Arztes zahlt die Krankenversicherung und die Pflege zu Hause die Pflegeversicherung, obwohl beide unter einem Dach verwaltet werden.
Konkurs anmelden
Spätestens wenn der Patient stationär in einem Heim gepflegt werden muss, kann man das gesamte System aber ohnehin knicken. Dann muss aus der eigenen Tasche gezahlt werden. Wenn dies immer noch nicht reicht, müssen die Kinder der pflegebedürftigen Eltern mehrere tausend Euro monatlich zusätzlich berappen und am besten Konkurs anmelden. Für die viel beschworene Eigenverantwortung und private Vorsorge bleibt dann nichts über.
[...]
Gewollter Privatvorsorge-Wahn
Das ohnehin schon durchlöcherte paritätische System aus Arbeitgeber- und Arbeitnehmeranteilen wäre durch eine Wertschöpfungsabgabe für alle Unternehmen zu ersetzen. Denn durch die bisherige Koppelung der Beiträge an die relativ niedrigen Löhne der abhängig Beschäftigten werden die steigenden Gewinne nicht erfasst. Bosse, die durch Entlassungen Löhne einsparen und somit Versicherungskosten verursachen, werden noch zusätzlich durch den Wegfall der Beiträge für die Entlassenen belohnt. Hier zeigt sich der Nonsens des alten Bismarck’schen Systems.
Eine Sozialversicherung für alle Bürger und alle Risiken, die ein Mindesteinkommen über den Hartz-IV-Sätzen sichert, hieße Abschied zu nehmen vom typisch deutschen Standes- und Neiddenken. Aber in einem Land, in dem ein politisch gesteuerter Privatvorsorgewahn herrscht, der trügerische Glaube, jeder müsse am besten für sich selber sorgen, ist das wohl noch ein weiter Weg. Ihn trotzdem zu gehen, ist eine Frage der wirtschaftlichen und sozialen Vernunft.
Quelle
Ein Sozialtopf für alle, Wunschdenke, aber träumen darf man ja noch.
Tuesday, 27. March 2012
php - create uuid in php
If you need a kind of unique id creation inside php (but can not or do not want to use your database for this job), here is a small function for this.
I have also implemented a md5 hash compare. You can replace your current md5 hash method with this one (if you are getting errors in your unittests for e.g.
).
?php
$generatedUUIDs = array();
$generatedMd5s = array();
for($i = 0;$i<10000;$i++) {
$generatedUUID = createUUID();
$generatedMd5 = md5($generatedUUID);
if (in_array($generatedUUID, $generatedUUIDs)) {
echo 'matching same uuid in run ' . $i . PHP_EOL;
exit();
} else {
$generatedUUIDs[] = $generatedUUID;
}
if (in_array($generatedMd5, $generatedMd5s)) {
echo 'matching same md5 in run ' . $i . PHP_EOL;
exit();
} else {
$generatedMd5s[] = $generatedMd5;
}
}
echo 'Run ' . $i . ' creations of UUIDs successfully.' . PHP_EOL;
function createUUID()
{
return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff),
mt_rand(0, 0x0fff) | 0x4000,
mt_rand(0, 0x3fff) | 0x8000,
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff));
}
Wednesday, 21. March 2012
tool.bazzline.net - what a user model should have
Even while i was working on my auth plugin for the zend framework, i tought it is right that the user db table needs to store the password.
![]()
Well, bad luck, i was wrong.
I wrestled with the fact that the password is stored in my user domain model. This leads to the fact that everywhere where use the user domain model the code can have access to the password - that sucks in the matter of security.
After a few minutes with a colleague we figured out that a password and even the loginname should be stored and managed by an auth class.
Even cooler, when you store this information in a central authentification you can use it everywhere (i mean other projects or modules as well).
![]()
Monday, 19. March 2012
tool - php 5.4
Since the PHP 5.3 update nightmare, i will wait a while before i update my version. But all in all there are three cool features inside, traits, short array syntax and DTrace.
Since DTrace is something for "when my development sever is ready to run", short array syntax and traits are ready to use.
Short array syntax is pretty nice.
$foobar = ['foo' => 'bar'];
And traits, well we will see if it is good to use ore not. I like the fact that you can easily define one method and use it where you want. So it is more or less an interface with implementation. I will spare you from the general Singleton example here
.
But i can recommend the following links if you want to know more.
Whats new in php 5.4.0
traits
Migration from 5.3.x to 5.4.x
web - google wtf?
I was astonished that my search results on google are fixed location based. I can change the location inside a country via the name of the city or a zipcode but i can not disable this "feature".
When i tried my search with duckduckgo.com, everything looks as expected.
It is bad to see that also google became what a big company has to became
.
Sunday, 18. March 2012
tool.bazzline.net - the long road to a php data mapper - part 1
I am working on the private project "tool.bazzline.net" to get away from social services and have a tool that fits perfectly to my own requirement.
Private projects always (should
) have the benefit of "no time preasure" that leads to "implement some cool features".
The first thing on this feature list is a data mapper.
Why a datamapper?
Well, won't you like to work with domain models and don't give a s*** about how and where the data is stored?
There is a wonderfull and short article created by Martin Fowler and i just have to recomend this one.
I found two datamapper projects for php on the web, pdodatamapper and phpdatamapper. To keep things short, a data mapper removes the logic of "how and where" to store the model data.
Both projects are still under heavy development and are not in a final state right now. I will not use them (but always take a look on how they have things done).
So what should my data mapper do?
All in all, it should hide all the database tables from the developer - even the orm if used. I just want to create a domain model and use it to store and get data from a persistent storage.
My data mapper must be smart enough to figure out which rowset on which storage/database table he has to update (or create).
The data mapper should have a lazy loading/storing mechanism, this should be done by a propertieset that knows which propertie is stored on which storage/database table.
My data mapper should support a very simple/limited filter mechanism that prevents me to blow up my data mapper class with to many "loadModelWhenItFitsToTheFollowingCircumstances"-methods.
This data mapper should also support to create a domain model by the upper called filter mechanism.
I decided that the general data mapper methods "insert()", "update" and "delete" are not perfect in the matter of sense to fit on my requirements. Thats why this data mapper will have the methods "load($model, $filters)", "save($model)" and "delete($model)". You can adapt each data mapper by adding own load methods with pre defined filters.
Filter what?
All this filtering leads to a filter class. This is a simple and straight forward one with the properties "criteria", "name" and "value".
The filter class has to be independent from the real storage implementation, thats why i will use an aditional filterMapper class.
This filterMapper is used from the data mapper and prevents to write doublicated storage dependent code. He is responsible to transform the general filterset to the a storage dependant model - means you throw the filter and the storage model inside and get the storage model with added storageFilter back.
That filter and filterMapper can communicate with each other by using a criteria class.
The criteria class will define what "like" or "greater then" is so that the filterMapper can map this to the storage model.
After the trip to the filtering adventure, we are back to the data mapper itself.
The real domainModelDataMapper will use a general propertieSet class. This propertieSet class is the only real connection between the domainModelProperties and the (maybe more the one) storage models - so the theorie currently
.
I must admit, i have made no decision if the real domainModelDataMapper is a decorator of the dataMapper, or if the dataMapper class is implemented as abstract class.
Since the whole project is a "learning by doing", i will figure out what will work - final in the phase of implementation (have i remarked that i never ever have worked with a data mapper for real?
).
![]()
Lets see what is next.
Saturday, 17. March 2012
web - open source linux tablet Vivaldi with KDE Plasma Active
More or less the vivaldi is a rebranded chines tablet with an kde plasma actice desktop/user experience on top. But all in all, the hardware of current tablets reachs a potential that should be enough for not rocket science task.
Thats why i am very exited about this table. With raspberrypi for the tv and vivaldi for the easy task, i will became a cool gadget year
.
Friday, 16. March 2012
tool - php 5.3 - some new functions
Since php 5.4. throws his shadow i finally had some time to check the release notes of 5.3. Here are some changes that are made in PHP 5.3, i just picked up my favorits (as expected
).
New Global Constants
__DIR__
__NAMESPACE__
New Functions
array_replace: replaces elements from passed arrays into the first array
array_replace_recursive: replaces elements from passed arrays into the first array recursively
class_alias: rreates an alias for a class
header_remove: remove previously set headers
I have not used one of this functions but since i am a developer i knew a lot of situations where this functons could have saved time.
other changes to extensions
cURL: cURL now supports SSH
OpenSSL: OpenSSL digest and cipher functions are now supported.
Session: Sessions will no longer store session-files in "/tmp" when open_basedir restrictions apply, unless "/tmp" is explicitly added to the list of allowed paths.
new methods
DateTime::add(): Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object
DateTime::diff(): Returns the difference between two DateTime objects.
DateTime::sub(): Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object.
web - Euer Leben wird dank RFID ausgewertet
Wisst ihr noch, damals, als RFID rauskam, und die Datenschützer gesagt haben, hey, das wird garantiert gegen ein verwendet werden eines Tages? Und als die "Experten" versicherten, dass es bei RFID bloß um die Logistikoptimierung geht? Ja?
Nun, schaut mal, was Sony gerade so treibt (wenn sie nicht gerade gehackt werden):
Sony's authentication outlet manages electricity use on a per-user and per-device basis with NFC (near field communication) and RFID (radio-frequency identification) tools.
Ein Stromstecker, der die User per RFID und NFC trackt und dann den Strom pro Gerät abrechnet!
Der Lacher ist ja, woran sich viele gar nicht mehr erinnern werden, und das war auch für mich vor meiner Zeit: Die Werbung beim Einstieg in das Atomzeitalter war, dass der Strom dadurch so billig werden würde, dass man gar nicht mehr abrechnen müsse, wer wieviel verbraucht. Hah. (Danke, Chris)
Quelle
Jetzt hat es sony auch endlich geschafft und kriegt deswegen ihren lang verdienten eigenen Tag.
Und wehe einer kommt mit dem Argument, dass dies weniger Stress für den Kunden bedeutet. Einmal im Jahr zu meinem Stromzähler zu gehen und die Zahlen abzulesen kann ich gerade noch so verkraften.




