Bananas Development Blog: Archives

Geekcode

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/GCS/GCC d- s: a? C+++ UL++++ P+ L+++ E--- W+++ N---- o-- K- w O- M+ V- PS+ PE Y+ PGP+++ t--- 5-- X-- R* tv- b++ DI+++ D+++ G e* h* r+++ y+++
------END GEEK CODE BLOCK------


http://www.geekcode.com/geek.html

CSS Standards & Best Practices

Jeder hat natürlich so sein Art wie man seien Code schreibt.

Wenn man aber mal mit mehreren Leuten zusammenarbeitet wird man schnell merken, dass man sich einen Standart angewöhnen sollte.

Hier mal eine Insperation für CSS:

CSS Standards & Best Practices

Banana
out.

Command-line-fu

Command-Line-Fu is the place to record those command-line gems that you return to again and again. Delete that bloated snippets file you’ve been using and share your personal repository with the world. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on and discussed. Voting is also encouraged so the best float to the top.


Ha da gibt es sogar ein RSS feed ;-)

http://feeds2.feedburner.com/Command-line-fu

via: PHP::Impact ( [str Blog] )

banana
out.

How to write a Linux virus

Eigentlich wollte ich selber dazu was schreiben, aber der Artikel selber klärt schon alles auf was man dazu wissen sollte.

Wichtig ist aber, alles zu lesen.

How to write a Linux virus in 5 easy steps

-- Follow up

Einfach lesen und weiter sein....


Banana
out.

Welches Feature für welchen Browser ?

Jeder Browser hält sich je nach laune der Entwickler mehr oder weniger an die Standarts.

Das Problem bei der Sache ist nun, wie bekommt man nun heraus welcher Browser nun was kann ?
Voralle welcher Browser wird ein tolles neues Featuer unterstützen ?

Hier ist ein tolle Liste mit all den tollen neuen Features (HTML,CSS,Javascript) die je nach Browser entweder bald oder noch nicht unterstützt werden.

When can I use..
Compatibility tables for features in HTML5, CSS3, SVG and other upcoming web technologies

Banana
out

SVN Tips un Tricks für windows.

SVN ist eine tolle Sache.
Noch besser wenn man sich ein Paar von den Folgende Tips & Tricks aneignet:

Subversion and TortoiseSVN tips and tricks.

Instead of a checkout you can copy _svn/.svn folder to another folder and do an "update".
-- create a secondary work folder by copying the root _svn/.svn folder and do an "update".
There is no "destroy" command in SVN. Once in repository, always in repository.
"Clean Up" command is safe and will not delete your changes. When TortoiseSVN says you should do a cleanup, do it.


Banana
out.

Vorratsdatenspeicherung

Debugging Javscript

Jeder kennt das Problem, wenn man Javscript nach Fehler durchsuchen will, wird es manchmal schwierig.

Obwohl es doch tolle Möglichkeiten gibt, Javascript zu debuggen.

Hier ist ein Artikel der dieses ein wenig näher bringt und auch anhand von einem Beispiel die Funktionen der einzelnen Debugger aufzeigt.

When used effectively, JavaScript debuggers help find and squash errors in your JavaScript code. To become an advanced JavaScript debugger, you’ll need to know about the debuggers available to you, the typical JavaScript debugging workflow, and code requirements for effective debugging. In this article, we’ll discuss advanced debugging techniques for diagnosing and treating bugs using a sample web application.

Advanced Debugging with JavaScript (by Chris Mills, Hallvord R. M. Steen)

mehrere uploads / multiple uploads mit mootools

Bin gerade über die Möglichkeit gestolpert wie man (mit Mootools) ohne zig Upload Elemente anzulegen es trotzdem möglich machen kann mehrere dateien gleichzietig hochzuladen.

Multiple file upload (Mootools version) example page

Habe es aber bisher noch nicht getestet, denke aber, dass es funktionieren wird.

Banana
out.

VPN mit gleichzeitiger Internetverbindung

Jeder kennt bestimmt VPN Verbindungen mit denen man sich in fremde Netzte einwählen kann.

Nun hatte ich aber lange das Problem, dass ich dann nicht mehr auf das Internet zugreifen konnte.
Ich war zwar, dann in dem fremden Netzt konnte aber keine Informationen aus dem Internet abrufen, was ab und zu nötig war.

Mit war zwar bewusst, dass es eine Einstellung dafür gibt aber bis heute habe ich diese nicht gefunden bzw. habe das Problem damit gelöst, dass ich einfach in meinem Host System das Internet abgerufen habe. (ich setzte VMWare ein und simuliere damit Windows)

Nun hat mir doch ein freundlicher Arbeitskollege weiter geholfen.

Damit man nun auf das normale Internet zugreifen kann ist folgende Einstellung in der VPN Verbindung zu setzten:

VPN Vebindung 
-> (rechte Maustaste) Eigenschaften
--> Reiter Netzwerk
----> unter "Diese Verbindung verwendet folgende Elemente" den Eintrag Internetprotokoll (TCP/IP) auswählen.
-----> Button Eigenschaften
------> Button Erweitert
-------> Reiter "Allgemein" den Haken bei "Standartgateway für Remotenetzwerk verwenden" weg machen.


So nur noch die Verbindung neu starten und nun sollte man auch wieder auf das Internet zugreifen können.

Banana
out.

Mozilla: Ubiquity

Ubiquity is a Mozilla Labs experiment into connecting the Web with language in an attempt to find new user interfaces that could make it possible for everyone to do common Web tasks more quickly and easily.


Also ich zum ersteln mal das Video sah, zog es mitr fast die Schuhe aus.
Wow...
Ich bin zwar nicht der Fan von irgendwelchen Services dritter, aber die Idee hinter Ubiquity ist verdammt gut und bietet Platz für vieles !!!


banana
out.

Dependency Tracking (Was braucht meine Software eigentlich ?)

Man entwickelt software und programmiert so fröhlich vor sich hin, aber an alle Anforderungen denkt man nicht immer.

Nun gibt es was dolles für das Zend Framework.

Zend Framework Automatic Dependency Tracking

When you develop or deploy an application, dependency tracking is one of the problems you must solve. Keeping track of dependencies for every application you develop is not an easy task. To solve this problem I’ve created Zend_Debug_Include, a Zend Framework component that supports automatic dependency tracking.


Kurz zusammengefasst macht die Erweiterung eine Auflistung was alles von ZendFramework benötigt wird.

Banana
out.

Ajax loading Bilder

Jeder kenn bestimmt ajaxload.info.

Nun gibt es aber auch eine schöne Alternative:

preloaders.net

It offers a wide-selection of preloaders. Besides the most popular images there are fresh ones, including 3D preloaders.


Wie zb so was hier:



Banana
out.

Javascript div sortieren mit mootools

Ich habe schon mal hier über das sortieren von divs gesprochen. Damals war das noch mit script.aculo.us verwirklicht.

Nun verwende ich mittlerweile aber eher Mootools. Daher schreibe ich mal hier wie man das selbe mit mootools macht.


Als Erstes brauchen wir natürlich mootools:
- download mootools core
Dazu brauchen wir noch die plugins:
- mootools more builder (einfach Sortables markieren und es werden automatisch alle benötigten Dinge markiert)

Nun binden wir unsere mootools js scripte in die HTML( in den head Bereich ) Datei ein:
<script src="js/mootools.js" type="text/javascript" language="JavaScript"></script$gt;
<script src="/js/mootools-1.2-more.js" type="text/javascript" language="JavaScript"></script>


Nun brauchen wir noch die Liste bzw. Element die wir sortieren wollen.
<ul id="sortingDiv">
<li name="el-1">Hallo</li>
<li name="el-2">Hallo 1</li>
<li name="el-3">Hallo 2</li>
<li name="el-4">Hallo 3</li>
</ul>


Nun kommen wir zu dem Javascript Teil der die Element "sortierbar macht":
window.addEvent('domready', function(){
var mySortables = new Sortables('#sortingDiv', {
constrain: true,
clone: true,
revert: true,
onComplete: function(){
storeOrder()
}
});
}


Was passiert da nun genau ?
Wenn der Body nun fertig geladen ist holen wir uns das div/Element in dem unsere Liste enthalten ist. Danach werden alle li element nun bewegbar gemacht.
Die Erklärung der einzelnen Optionen findat man hier.

Nun will man ja auch diese Sortierung irgendwie abspeichern.
Dabei kommt das onComplete in Aktion. Damit legt man fest was am Ende der Sortierung gemacht werden soll. Dort ist eine function angegeben die ausgefürht werden soll.

fcuntion storeOrder {
var grpList = '';
var j=0;
// get the divs inside the sorting div
orderDivs = document.getElementById("sortingDiv").getElementsByTagName("li");
for (var i=0;i < orderDivs.length;i++) {
var entryId = orderDivs[i].getAttribute('name');
grpList += entryId + "=" + j + ";";
j++;
}
// write those values into the hidden fields
document.getElementById('sortOrder').value = grpList;
}

Hier werden die Element nun nach der Reihenfolge im DOM ausgelesen und ein string ertellt.
Dieser string ist komma separiert und wird in ein hidden input field abgelegt.
Dieses feld kann man mit PHP aberbeiten und somit die Sortiertung abspeichern.
Natürlich kann man anstelle auch gleich ein XHTTP Request machen das die Sortierung im Hintergrund abspeichert. Ist aber geschmackssache.

Das war es auch schon. Im Grunde nicht wirklich kompliziert.

Sollten noch Fragen offen sein, bin ich gerne bereit diese zu beantworten.

banana
out.

Was wäre Linux(GNU/Kernel) ohne Windows ?


.
.
.
.
.
.
.
.
.
.
.
.
.
.
genau nichts....
Ok vielleicht ein wenig übertrieben, aber ohne Windows wäre Linux nicht auf dem Level auf dem es Heute ist.

Also ist es mal an der Zeit Windows zu danken und nicht immer nur auf Windows zu schimpfen. Denn ohne Windows hätte Linux keinen Grund "besser" zu werden, da ja keine Konkurenz da wäre...

Vielen Dank an Windows !!!!