JavaScript alle Checkboxen einer Form anhaken

Wednesday, September 9th, 2009

Manchmal ist es ganz nett alle Checkboxen einer Form anhaken zu können.
Mit diesem JavaScript kein Problem!

function checkAll(strID, checked){
  var arrChilds = document.getElementById(strID).childNodes;
 
 
  for(var i=0; i<arrChilds.length; i++){
    if(arrChilds[i].type == "checkbox"){
      arrChilds[i].checked = checked;
    }
  }
}
 
Checkbox Test
 
<form id="form1">
<input id="1" name="foo" type="checkbox" />a
<input id="2" name="foo2" type="checkbox" />b
<input id="3" name="foo3" type="checkbox" />c
<input id="4" name="foo4" type="checkbox" />d
<input onclick="checkAll(this.form.id,true)" type="button" value="+" />
<input onclick="checkAll(this.form.id,false)" type="button" value="-" />
<input onclick="reset()" type="button" value="reset" />
</form>

Keks

VirtualBox virtuelle Maschinen klonen

Saturday, June 13th, 2009

Wolltet ihr schon immer mal wissen wie sich eine virtuelle Maschine unter VirtualBox klonen lässt?

Ganz einfach! Und zwar mit dem Tool “VBoxManage” welches unter anderem die Möglichkeit bietet “virtuelle Festplatten” euer VM’s zu Klonen. Wird bei VirtualBox mitgeliefert.

  • Zur Sicherheit fahren wir die virtuellen Machinen runter bzw. halten sie an.
  • Festplatte clonen:
    VBoxManage clonevdi ~/.VirtualBox/Machines/MachineA.vdi ~/.VirtualBox/Machines/MachineA_CLON.vdi
  • Neue VM erstellen (am besten mit der gleichen virtuellen “Hardware”)
  • Als Festplatte wählen wir nun das geklonte MachineA_CLON.vdi.
  • Beide Maschinen starten
  • Daran denken den Klon umzubenennen und falls nötige andere IP Adressen zu vergeben.

Damit beide Virtuellen Maschinen miteinander Kommunizieren können, empfiehlt es sich, das Netzwerk auf Bridged umzustellen. Dadurch werden die VM’s im kompletten Netzwerk sichtbar und interagieren als “normaler” PC.

Keks

.nrg Files unter Linux mounten

Friday, May 29th, 2009

Unter Ubuntu geht’s mit dem Tool nrg2iso:


sudo aptitude install nrg2iso
nrg2iso file.nrg file.iso # Wandelt nrg File in iso um!
modprobe loop # läd Modul "loop". Nicht immer nötig!
mount -o loop file.iso /mnt/foo/

Keks :dancingbanana2:

SCP - abgebrochene Downloads fortsetzen

Friday, January 30th, 2009

Schon mal versucht abgebrochene Downloads per scp wieder aufzunehmen? Geht nicht! Obwohl das bei großen Files durchaus sehr sinvoll sein könnte. Zum Glück gibt es ja reichlich Alternativen, rsync zum Beispiel.

Wenn ihr das mit scp machen wolltet:

1
scp zu_kopierende_file user@example.org:/pfad/oder/dateiname

So Macht macht ihr das mit rsync:

1
export RSYNC_RSH=ssh rsync --progress --partial zu_kopierende_file user@example.org:/pfad/oder/dateiname

Das “export RSYNC_RSH=ssh” bewirk, dass das an sich unverschlüsselte rsync Protokoll, über SSH getunnelt wird. Das ganze ist also prinzipiell genauso sicher wie SCP. Der Schalter “–progress”malt euch noch eine schöne Fortschrittleiste.

Toll was alles geht :dancing:

Ich wünsche euch allen ein Schönes Wochenende!

David

sed Einzeiler Beispiele

Wednesday, December 3rd, 2008

Na mal wieder an einem sed Problem den Kopf zerbrochen? Das muss nicht sein :-), denn zum Glück haben schlaue Köpfe ja schon vor uns Hirnschmalz investiert. Folgende Liste (zusammengestellt von Eric Pemen) beitet einige nützliche Tipps, Tricks und fertige Lösungen. z.B.: zentriert folgendes Beispiel alle Zeichen in einer 79 Zeichen breiten Spalte.

sed -e :a -e ’s/^.\{1,77\}$/ &/;ta’ -e ’s/\( *\)\1/\1/’

Ich wäre nicht drauf gekommen :-). In diesem Sinne viel Spass mit sed!

Keks

SAP Transaktionsübersicht

Thursday, November 13th, 2008

Ihr habt euch bestimmt schon mal gefragt ob es im SAP eine Transaktionsübersicht (über derzeit ca 106.000) gibt.

Gibt es ;-) ! Es gibt sogar (wie verwunderlich) mehrere Wege an so was zu kommen.

Die erste Methode die ich manchmal anwende ist die Suche über das SAP-Menü. Sie ist gerade für den nicht so versierten Anwender zu Empfehlen. Hierbei kann im “Technischen Namen” z.B.: “db12″, “su01″, “spad” oder in der der Beschreibung gesucht werden. Hierzu muss der Technische Name aber erst einmal aktiviert werden:
(more…)

Lexmark 1200 Series unter Ubuntu/Cups installieren

Saturday, September 13th, 2008

Drucker der Lexmark 1200 Series werden anscheindend nicht “out of the Box” von Cups unterstützt.
Ich musste ein bisschen suchen bis ich die Lösung meines Problems gefunden habe. Ich habe mir erlaubt die Anleitung zusammenzufassen und die benötigten Treiber, für den Fall der Fälle, selbst zu Hosten ;-)

apt-get install libstdc++5 alien # benötigte Pakete installieren
mkdir lexmark
cd lexmark
wget http://files.hansis-braindump.de/bin/CJLZ600LE-CUPS-1.0-1.TAR.gz
tar xvzf CJLZ600LE-CUPS-1.0-1.TAR.gz
tail -n +143 z600cups-1.0-1.gz.sh &gt install.tar.gz
tar xvzf install.tar.gz
alien -t z600cups-1.0-1.i386.rpm
alien -t z600llpddk-2.0-1.i386.rpm
tar xvzf z600llpddk-2.0.tgz
tar xvzf z600cups-1.0.tgz
cd usr
sudo cp -a * /usr
sudo ldconfig # Reloading library-database
/etc/init.d/cupssys restart

Nun den Drucker wie gewohnt einrichten. Sicherstellen das der z600 Treiber benutzt wird!

Keks

ArchLinux: Xserver auf TCP lauschen lassen

Friday, August 22nd, 2008

Wer ArchLinux noch nicht lange benutzt, aber manchmal gerne mit Xorg Spielereien (oder auch ernsthafte Sachen) treibt, den wird etwas, sobald er darauf stößt, tierisch Quälen. Der Xserver, wenn er mit startx gestartet wird, lauscht standardmäßig nicht auf dem TCP-Port 6000. Nun ist das sicher aus Gründen der Sicherheit oft wünschenswert, doch wer gerne einen X-Client über einen anderen Rechner im Netz auf den Xserver starten möchte, sucht in der Dokumentation von ArchLinux lange vergebens nach dieser Einstellung.

Nach etwas Suchen, habe ich durch:

$ grep -ri listen /etc/X11/*

des Pudels Kern gefunden. In der Datei /etc/X11/xinit/xserverrc steht standardmäßig:

exec /usr/bin/X -nolisten tcp

Durch entfernen der letzten zwei Argumente, lauscht der Xserver wie gewohnt auf TCP 6000.

Bei anderen Distributionen (SuSE/Redhat und co.) befindet sich diese Einstellung meißt in einer Variable in einer Datei in /etc/sysconfig/ (oder einem entsprechenden Ordner, obiger Befehl kann als Hilfestellung verwendet werden ); bei Debian oder Ubuntu hilft Dir: http://scroogle.org/

Nun muss nur noch, wer es noch nicht kennt, per:

xhost +RECHNERADRESSE

ein Rechner oder ohne RECHNERADRESSE alle Rechner (nicht zu empfehlen) autorisiert werden, auf den Xserver zuzugreifen.
Auf diesem wird dann durch setzen der Umgebungsvariable DISPLAY die Ausgabe eines XClients auf ein Display dieses Xservers gesendet.
Beispiel: IP-Adresse des Rechners: 10.55.22.12; Display: 0

DISPLAY=10.55.22.12:0 xeyes

Ich wünsche allen ein schönes Wochenende, ich werde mich wohl erst nächstes Wochenende wieder zur IFA melden; es gibt viel zu tun.

Bier

MS SQL Server 2005 - Das wichtigste falsch dokumentiert

Tuesday, July 22nd, 2008

Wer wirtschaftskritische Anwendungen über einen Datenbankserver betreibt wird mir zustimmen:
Backups sind auf jeden Fall notwenig!

Leider ist man manchmal gezwungen Systeme einzusetzten, die man nicht einsetzen will, deshalb läuft bei uns in der Firma auch ein Microsoft SQL Server 2005.

Nun erscheint es auch recht einfach, mit dem “Wartungsassistenten” im Microsoft SQL Server Management Studio zeitgesteuerte Backups einzurichten - jedermann dürfte mit dem Dialoggesteuerten “Assistenten” klarkommen. Allerdings kommt es am Ende, wenn das Skript die Einträge in den “Wartungsplan” erstellen soll zu einer sehr skurillen, nicht verständlichen Fehlermeldung:

Erstellen Sie Wartungsplan, fehlgeschlagen wird.

Weitere Informationen:
Erstellen Sie für JobStep “Subplan” Fehler von Ihnen. (Microsoft.SqlServer.MaintenancePlanTasks)

Bei dem Ausführen einer TransactSQL-Anweisung oder eines Batch trat eine Ausnahme auf. (Microsoft.SqlServer.ConnectionInfo)

Das angegebene “@ subsystem” ist ungültig (gültige Werte werden von sp_enum_sqlagent_subsystems zurückgegeben). (Microsoft SQL Server Fehler 14234)

:sauer:

Tja….

googlegooglegoogle scrooglescrooglescroogle -> nichts
:angry:
scrooglescrooglescroogle -> http://support.winzigweich.com/….

Aha!
Dann machen wir mal was in der Anleitung steht:

1. Führen Sie den Installations-Assistenten für SQL Server aus.
2. Klicken Sie auf die Seite System Configuration Check auf Weiter, nachdem der Suchvorgang abgeschlossen ist.
3. Geben Sie die entsprechende Information in dem Feld Name und dem Feld Company ein, und klicken Sie dann auf Weiter.
4. Aktivieren Sie das Service Kontrolle-Kästchen, und klicken Sie dann auf Weiter.
5. Klicken Sie auf Weiter, und klicken Sie dann auf Installieren.
6. Klicken Sie auf Weiter, und klicken Sie dann auf Fertig stellen, wenn die Installation abgeschlossen ist.

… gut, nur schade, dass es kein “Service Kontrolle-Kästchen” gibt, was auch immer das sein soll :noergel:

Nach etwas rumprobieren, bin ich mit dem Installieren der “Integration Services” an mein Ziel gekommen, was im übrigen auch in der englischen Anleitung von Microsoft drinsteht :shit: (zum Glück hab ich mir vorher nen Spiegel mit ntfsclone (sehr feines UNIX-Tool) erstellt, an dem ich rumspielen konnte)

Dann sei noch zu erwähnen, dass unbedingt der Dienst SQL Server-Agent (MSSQLSERVER) automatisch mit Windows gestartet wird, sonst geht das Backup auch nicht. Leider ist auch das nicht Standardeinstellung…

Bier -> :kotz: <- Microsoft

Spaß maximieren, alles durch SSH tunneln mit Tsocks

Wednesday, July 16th, 2008

Hier habe ich erklärt wie man durch einen SSH tunnel (mithilfe eines SOCKS Proxy) sicher (und bequem), über einen unsicheren Kanal, surfen kann.
Das ist ja schon mal ganz schick, solange sich unsere Applikationen Native mit einem SOCKS Proxy unterhalten können.
Ist das aber nicht der Fall ist das etwas doof.

Da kommt Tsocks ins Spiel.
Das, schon etwas ältere Programm (das letzte release ist vom 2002-10-23 21:02 ), basiert auf dem “shared library interceptor” konzept, das bedeutet vereinfacht das tsock die “connect()” C funktion abfängt und mit seiner Eigenen überschreibt.

Tsocks bestimmt dann anhand der Einstellungen in der “/etc/tsocks.conf” (bzw. wohin auch immer $TSOCKS_CONF_FILE zeigt) ob die Verbindung über den SOCKS Proxy geleitet werden soll, also über die Tsocks eigene “connect()” Funktion, oder über die “normale”, welche in <sys/socket.h> bereitgestellt wird.

Dadurch agiert Tsocks quasi als ein “Wrapper”.

Zum Verständnis mal ein Beispiel (ich gehe davon aus das ihr einen SSH SOCKS Tunnel anhand dem HOWTO auf Port 8080 aufgebaut habt, ansonsten natürlich anpassen!!):

Inhalt von /etc/tsocks.conf:

server = 127.0.0.1
server_port = 8080

Falls ihr kein root Zugriff habt, könnt ihr die ganze Schose natürlich auch in eurem HOME speichern.

export TSOCKS_CONF_FILE=$HOME/.tsocks.conf # Exportiere config file pfad, damit er dem Programm bekannt ist

Inhalt von $HOME/.tsocks.conf:

server = 127.0.0.1
server_port = 8080

Beispiel ohne Tsocks:

$ telnet ip.hansis-braindump.de 80
Trying 87.230.15.76...
Connected to ip.hansis-braindump.de.
Escape character is '^]'.
 
GET /index.php?X=123 HTTP/1.1
Host: ip.hansis-braindump.de
HTTP/1.1 200 OK
Date: Wed, 16 Jul 2008 10:17:48 GMT
Server: Apache
X-Powered-By: PHP/4.4.4-8+etch6
Content-Length: 40
Content-Type: text/html charset=ISO-8859-1
 
155.56.xx.xx
 
155.56.xx.xx

Hier komme ich also direkt!

Beispiel mit Tsocks:

$ tsocks telnet ip.hansis-braindump.de 80
Trying 87.230.15.76...
Connected to ip.hansis-braindump.de.
Escape character is '^]'.
 
GET /index.php?X=123 HTTP/1.1
Host: ip.hansis-braindump.de
HTTP/1.1 200 OK
Date: Wed, 16 Jul 2008 10:17:48 GMT
Server: Apache
X-Powered-By: PHP/4.4.4-8+etch6
Content-Length: 40
Content-Type: text/html charset=ISO-8859-1
 
87.230.15.76
 
hansis-braindump.de

Hier komme ich über hansis-braindump.de

Weitere Beispiele:

tsocks dog http://www.google.com
tsocks netcat example.com 80
tsocks irssi -c irc.freenode.net -p 6667

Viel Spass :daumenhoch:

Keks


Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien: