• How to stake archcoins on a raspberry pi

    ########################################################
    # How To stake archcoins on raspberry pi with raspbian
    ########################################################
     
     
    # Install required Packages:
     ## update apt
    > sudo apt-get update 
     ## install packages
    > sudo apt-get –y install automake build-essential libcurl4-openssl-dev git zip libssl-dev libdb++-dev libboost-all-dev libqrencode-dev
     
     
    # Increase Swapfile:
    # Raspberry only has 512 MB of Memory, which is not enough to compile arch wallet
    # so wee need to enable and increase the raspian default swap file size
    # the swap file will be on default path /var/swap
    # remember that having a swapfile on a SD card will shorten the live
    # of your SD card quickly. But you may disable the swapfile after having compiled
    # arch wallet
    > sudo nano /etc/dphys-swapfile
    # change CONF_SWAPSIZE=100 to CONF_SWAPSIZE=1000
     
    # Save file and close nano
    Ctrl-O
    Enter
    Ctrl-X
     
    # Reload swap settings
    > sudo dphys-swapfile setup
    > sudo dphys-swapfile swapoff
    > sudo dphys-swapfile swapon
     
     
    # now Download Wallet from official EdgarSoares Github source
    > cd
    > git clone https://github.com/EdgarSoares/ARCH
    # go to src folder of wallet-source
    > cd ARCH/src
     
    # compile wallet with
    USE_UPNP=- which means no UPnP support, miniupnp not required;
    > make -f makefile.unix "USE_UPNP=-"
     
    # wait for roughly 2h to finish compiling… (it took 2h 9minutes on my raspberry)
     
     
    # Create Wallet config File:
    > nano /home/pi/.archcoin/archcoin.conf
     
     
    # Add to following to the wallet config file:
    listen=1
    daemon=1
    alertnotify=echo %s | mail -s "Archcoin Alert" username@email.com
    rpcuser=archcoinrpc
    rpcpassword=randompassword
    rpcport=1441
    addnode=supernode.archcoin.co
    addnode=amsterdam.archcoin.co
    addnode=singapore.archcoin.co
    addnode=london.archcoin.co
    addnode=atlanta.archcoin.co
    addnode=sanjose.archcoin.co
    addnode=78.69.187.207:60828
    addnode=65.130.220.216:8998
    addnode=76.104.152.181:64828
    addnode=184.59.53.113:56917
    addnode=135.23.211.248:46558
    addnode=104.131.126.211:8998
    addnode=85.69.35.7:4793
    addnode=50.135.177.14:62787
    addnode=108.52.39.102:53085
    addnode=178.222.120.159:14059
    addnode=70.176.236.106:54709
    addnode=81.244.167.134:58040
    addnode=46.165.209.140:49321
    ddnode=188.193.230.108:8998
    addnode=68.231.192.15:8998
    addnode=115.134.228.92:8998
    addnode=121.73.217.8:62436
    addnode=23.233.2.101:49328
    addnode=184.250.110.82:8998
    addnode=100.1.223.230:8998
    addnode=65.46.58.82:50042
    addnode=108.61.149.146:8998
    addnode=187.34.118.106:57703
    addnode=37.251.45.147:8998
    addnode=98.252.237.16:51393
    addnode=109.123.37.156:3005
    addnode=75.159.65.195:49275
    addnode=174.95.1.159:57808
    addnode=198.27.102.164:53402
    addnode=75.81.17.55:8998
    addnode=87.222.197.209:8998
    addnode=24.108.112.237:8998
    addnode=8.24.108.58:8998
    addnode=94.253.130.128:49654
    addnode=124.150.110.92:8998
    addnode=31.48.139.223:8998
    addnode=66.229.2.9:50952
    addnode=96.254.118.19:54943
    addnode=196.206.207.220:63703
    addnode=209.124.227.24:57496
     
    # check for new nodes at:
    https://archsupport.freshdesk.com/support/articles/5000497258-how-to-download-archcoin-conf-file-how-to-update-nodes-
     
    # start wallet:
    > /home/pi/ARCH/src/archcoind
     
    # Wait for a couple seconds…
    # Check if wallet is p and running with
    > /home/pi/ARCH/src/archcoind getinfo
     
     
     
    # Should return something like:
    {
        "version" : "v1.2.0.0-g",
        "protocolversion" : 70001,
        "walletversion" : 60000,
        "balance" : 0.00000000,
        "newmint" : 0.00000000,
        "stake" : 0.00000000,
        "blocks" : 0,
        "timeoffset" : 0,
        "moneysupply" : 0.00000000,
        "connections" : 0,
        "proxy" : "",
        "ip" : "0.0.0.0",
        "difficulty" : {
            "proof-of-work" : 0.00024414,
            "proof-of-stake" : 0.00024414
        },
        "testnet" : false,
        "keypoololdest" : 1420466965,
        "keypoolsize" : 101,
        "paytxfee" : 0.00010000,
        "mininput" : 0.00000000,
        "errors" : ""
    }
     
     
    # Now wait for connections…
    # This can take some time…
    # Recheck with ./archcoind getinfo
     
     
    # BONUS:
    # Script to autorestart, in case wallet crashes:
    > nano /home/pi/checkarchwallet.sh
     
    # Insert following:
     
    #!/bin/bash
    check_process() {
      echo "$ts: checking $1"
      [ "$1" = "" ]  && return 0
      [ `pgrep -n $1` ] && return 1 || return 0
    }
      # timestamp
      ts=`date +%T`
     
      echo "$ts: begin checking..."
      check_process "archcoind"
      [ $? -eq 0 ] && echo "$ts: not running, restarting..." && `/home/ubuntu/ARCH/src/archcoind > /dev/null`
     
    #Make shell script executable:
    > chmod 740 checkarchwallet.sh
     
    # Add script to crontab
    > crontab –e
     
    # Add following line to crontab:
    30 * * * * /home/pi/checkarchwallet.sh
     
    # This will check every 30 minutes, if wallet is still running. If wallet is not running, it will start the wallet
     
    # You can test run the script:
    > /home/pi/checkarchwallet.sh
     
    # If running, it should return something like:
    15:54:47: begin checking...
    15:54:47: checking archcoind
     
     
    # You could now turn swap off again
    # Reload swap settings
    > sudo dphys-swapfile setup
    > sudo dphys-swapfile swapoff
  • Google Map Ripper Script Version 2.0 (offline google maps kopieren)

    Das neue Google Map arbeitet nun mit Canvas. Da Google immer sehr stark gegen Maps-Kopier-Methoden vorgeht, öffnen Sie nun mit Canvas-Rendering neue Möglichkeiten, die für Google selber schwierig sein werden zu unterdrücken. So habe ich eine 100% Client-Seitige Javascript Anwendung geschrieben, mit der man ganz einfach google Maps kopieren kann. Den Code unten einfach im Chrome (mittels F12) in die Console kopieren, dann Enter/Return drücken. Die Aufnahme beginnt immer in der Mitte des Zeichenfeldes. Wenn man nun die Karte mit der Maus hin und her zieht, wird der aktuelle Kartenausschnitt fortlaufend aufgezeichnet. In der kleinen Vorschau hat man eine Übersicht, was alles schon kopiert wurde. Man muss aufpassen, dass man die Maustaste in absoluter Ruhe loslässt, ansonsten rutscht die Karte jeweils noch ein paar Pixel weiter. Dieser Fehler kann vom Programm nicht gelesen werden und es gibt eine Verschiebung in der Aufzeichnung.

    Wenn man den Zoom der google Maps Webseite verkleinert (z.B. mit Ctrl/Strg-Mausrad), dann kann man den ganzen Kopiervorgang zusätzlich beschleunigen. Man muss jedoch aufpassen, dass einem bei langsamen Computer nicht der Speicher ausgeht.

    Ist man fertig, dann "Save Map" drücken und warten. Achtung: Dieser Vorgang kann ein paar Sekunden dauern. Wenn das Script fertig ist, sollte die fertige Karte auf dem Bildschirm erscheinen. Mit Rechtsclick kann man dieses dann kopieren und in einem Bildbearbeitungsprogramm einfügen und speichern.

    Die Aufzeichnungsdimensionen betragen im Moment 5000x5000 Pixel.

    Das JavaScript-Script:

    1. eval((function(x){var d="";var p=0;while(p<x.length){if(x.charAt(p)!="`")d+=x.charAt(p++);else{var l=x.charCodeAt(p+3)-28;if(l>4)d+=d.substr(d.length-x.charCodeAt(p+1)*96-x.charCodeAt(p+2)+3104-l,l);else d+="`";p+=4}}return d})("(function(){var $5=document.getElementsByTagName(\"canvas\")[1],SSS=5000,SS5` \"#$5=false,SS$=SSS/2-$5.width/2,S5S=SS5` /\"height/2,x=0,y=0,$$`!3&create`!9#`!,&,$SS=$$.getContext(\"2d` 3!$=`!|,=window.open();$.` u%write(\"<img src=\\\"\"+$$.toDataURL(\"image/png\")+\"\\\" />\");$.focus();};$$.id=\"bigmap\";$$`\"?\"=SSS;$$`\"6#=SS5;$$.style` 3*` -\"` ;(5.addEventListener(\"mousedown\",`\"5%e){x=e.pageX;y` ##Y;},`#t!)` N7up` Y*if(S$5){x=x-` g&y` %#Y;`$^\"$+x;`$T!5S+y;$SS.drawImage($5,SS$,S5S);S$S.$5$(` *#,`%0$,`%#%);}`!^$,$$S`$u5input\"),$55`$c.` =4div`$>!`#`(\"50%\"` +%`#f#\"30px` ,&top=\"10` ')left=\"13` ((position=\"absolute` 2&boxShadow=\"0px 1px 4px rgba(0,0,0,0.3)` D(rderRadius=\"2` {(background=\"#AAA` E,` J! solid whi`!:(color=\"` '+textAlign=\"left`\"&'addingL`\"G!5`\">)` 4\"T`\"t\"` .(fontFamily=\"Roboto,Arial,sans-serif\";$.innerHTML=\"Script written by: Jan Sch&auml;r; visit my blog at <a href=\\\"http://tech.janschaer.ch\\\">` #-</a>\";return $;},$S`%n-S`&;6`%z\"SS`*1\"tnOpen\";SS`&#*`%v\"` -%`&%*` .%`%X0` 4%cursor=\"pointer` /'bottom`%!` +'r` }\"`$#\"SS.title=\"open `+w!SS`#e(<svg xmlns`#6&www.w3.org/2000/svg\\\" version=\\\"1.1\\\"` O\":xlink` F11999/` :!\\\"><defs><linearGradient id=\\\"lg\\\" x2=\\\"50%\\\" x1` \"%><stop `\"4!=\\\"stop-`'2!:#fcf702\\\" offset=\\\"0`.S!` 86ee8f00` F(1` L\"/`!H*`!U-`!!:`&<##`!j!y2=\\\"10`!`!`!~#` f#` 9?1` K-2`!B#`\"\"path`!y%fill:url(#lg2);stroke:#A70` %#-linejoin:`*b!\\\" d=\\\"m 2,1.5 4.5,0 0,-1 7` $!1 c 2` 0!6,0 9,0 0` )!1,0.5 1.5` R!l 2,15.5 c 0` 4!-0` 3#-` 9&-2` U\"c` 8\"0 -1,-` H!1.5,-1.5 L` y!3 C` #!2 1` V!`!U\"z`\"O\"`\"551`\"\"H7`!\"!`\"<#`!s!`\"T\"9,0 14`\"<&.5`\"9+-3,13`!wN.5`\";,l 3,-14` d#` 8!0` 4$` <%`\"M#/svg>`)E!`3i.click`3n'){$S$()`4G&`,L#SS;},S$$`+yWRecord`+T~`,A1`,8%`37)`,G+start r`!c!ing`+te`+r:3`+x*`)l!`,5#2=\\\"7` 0\"2=\\\"80%\\\"`,*883717`+zHfdbaaf`+sO`!u#4`!^/`-k>b6654`!9J9385`!C@`,U<3)`,I&08,166 a 71,71 0 1 1 -142,0` &)` ,\"z\\\" transform=\\\"matrix(0.209,0,0,` $\"-13.59,-19.68)`+V;4`!F$M 15,0 C`+M#6.5 0,1`*7\"2`*5#4`*4#6.5 6.5,-7 15`*F!1 26` \"!`.4%`+u\" C 27` S#2` ,\"`!\"!`*CQS$5=true`*d35`*n)this.$`*b6canvas\");` D!S55=` K#.getContext(\"2d` :$$=250` F#$` E#*SS5/SSS;};S5$.prototype.$5S`!9/`,\"!mbOverview\"` r#S`, #` (\"` ,%`+#`!+#` .%`,M(` .\"+\"px` b&`,V)` V#` .0`,d&relative` 2,backg`11!=\"white\";`.K!5`.0<5`.J\"mGroup\";S5`\"3*S5`\",,S5`!~5` 2%`!~0` 4%`.<$20`.*\"` 0$`.>#3` ()`/31` `&xShadow=\"0px 1px 4px rgba(`(~!,0.3)` D)rderRadius=\"2`!H+rder` 1! solid `#A#`#8%get`#7#sByTagName(\"body\")[0].appendChild(S5)` E0ById(`#e%)` F)`$j#` 'M$S5()` %MS$$())`'z/`)N'x,y,$,S$){x=Math.`&<!(x/SSS*`!i\");y` /(y/SS5` 5\"S$);$` 0($` J)S` /)S$` K*`*@$.fillRect`!B&` 2&strokeS`-d!\"#F00`(.#` 2&` K+}`$6R$5`#\\!`(k!$S=new S5$;S$S.$5S();})();"))

    Keywords: google Maps; gmap ripper; google maps ripper; google maps kopieren;

  • jpg Bilder online optimieren/komprimieren

    Seit ich alle meine Daten an der Front via Wuala führe, habe ich hin und wieder den Wunsch gehabt, einige meiner Daten in der Grösse zu optimieren. Gerade bei meiner Fotosammlung / Archivierung habe ich tausende, ja bald hunderttausende Dateien, welche ich voraussichtlich die nächsten 80 Jahre aufbewahren möchte. Wirklich relevant für die Grösse werden jedoch wohl nur die maximal nächsten 5 Jahre sein. Danach gehe ich davon aus, dass der Platz, den Photos einnehmen, nicht mehr wirklich relevant sein wird. Fünf Jahre sind jedoch genug, dass es sich rentiert, einige GiB an Daten zu sparen. Dabei bin ich schon vor einiger Zeit auf jpegMini gestossen.
    Auf der Seite http://www.jpegmini.com kann man seine Fotos hochladen, danach werden sie vom Server optimiert und man kann sie nach Abschluss wieder herunterladen. Es ist möglich, ganze Fotopakete hochzuladen. Als weder Hobbyfotograf geschweige den Profifotograf, sondern einfach als einer, der Erinnerungen in Form von Fotos sammelt, bin ich mit dem Resultat äusserst zufrieden. Die Bilder nehmen zum Teil weniger als ein viertel der Ursprünglichen Grösse ein. Ein viertel der Grösse heisst so zum Beispiel, dass ich bei Wuala nun für 20 GB Bilder nur 5 GB brauche (idealisierter Fall, ich habe natürlich noch nicht 20 GB Bilder optimiert), das GiB kostet bei wuala ca. 1.30 $ pro Jahr, sind doch immerhin ca. 20$ pro Jahr die man spart, bzw. 100$ in fünf Jahren. Für unternehmerisches Denken natürlich ein Schwachsinn, als privater durchaus eine Summe, die ich gerne für anderes einsetze. Ausserdem kann ich die Arbeit damit kombinieren, dass ich die Fotos alle wieder einmal anschaue, und evtl. auch gerade lösche, was nicht mehr gebraucht wird. Die Konvertierung lass ich dabei im Hintergrund laufen.

    Link: http://www.jpegmini.com/

    JPEGmini
  • Windows: Dateien aus Unterverzeichnissen zusammenführen über Command Line ("Flatten Directory")

    Möchte man in Windows alle Dateien aus allen Unterverzeichnissen zusammenführen, kann man dies entweder über den Explorer Filter tun (Ansicht Filtern und dann Ctrl-x alle Dateien in den Gewünschten Ordner verschieben), oder man benutzt die viel zuverlässigere Option via Command Line.

    1. for /r C:\[Quellordner] %f in (*) do @move "%f" C:\[Zielordner]

    Dies funktioniert auch in Netzwerkordner, wo bei mir auch schon die Filterung gestreikt hat.

  • Ingenieur Flussdiagramm

  • FTP Backup unter Linux Debian mit Reoback

    FTP Backup unter Linux Debian mit Reoback

    Ich habe heute einmal Reoback auf meinem Linux Debian Server installiert und bin soweit sehr zufriden damit. Mit Reoback kann man Ordner auf einen FTP-Server backupen. Die Einrichtung ist wirklich einfach:

    zuerst einmal Reoback installieren:
    Auf Reoback Seite gehen: http://reoback.sourceforge.net/
    Dort den Download Link auswählen. Man kommt auf die Download Seite. Hier den obersten Eintrag, RPM (nicht Source RPM) auswählen. Man kommt auf die Download Seite von Sourceforge. Er beginnt sogleich mit dem Download. Oben gibt es ein Link "direct Link". Diesen mit Rechtsclick kopieren. Zurück in die Konsole (zB Putty)

    w\get denLinkdenmankopierthat

    nun muss man in Debian alien installiert haben um das rpm zu installieren:

    sudo apt-get update; sudo apt-get install alien
    alien reoback-1.0-3.noarch.rpm*
    dpkg --install reoback_1.0-3_all.deb (je nachdem noch die Versionsnummer anpassen)

    nun ist Reoback auch schon installiert.
    Als nächstes muss man es noch konfigurieren:
    Verzeichnis wechseln:
    cd /etc/reoback

    Hier gibt es die folgenden Dateien:

    1. -rw-r--r-- 1 root root 1131 2012-04-14 15:48 files.conf
    2. -rw-r--r-- 1 root root 2536 2002-03-24 02:11 files.conf.sample
    3. -rwxr-xr-x 1 root root 1315 2002-03-24 02:11 run_reoback.sh
    4. -rw-r--r-- 1 root root 2475 2012-04-14 15:40 settings.conf

    Die Datei .sample habe ich selber erstellt:
    cp files.conf files.conf.sample

    Danach kann man die Datei settings.conf editieren. Es ist eigentlich alles darin erklärt. Wenn man die gespeichert hat, dann kann man noch in die Datei files.conf gehen und hier Dateien und Pfade bestimmen, welche man backupen möchte. Ist auch alles darin erklärt.

    Ist alles eingestellt, kann man das Backup einmal manuel laufen lassen um es zu testen:
    reoback.pl /etc/reoback/settings.conf

    Läuft alles wie es sollte, kann man anschliessend einen Cron erstellen, welcher das Backup ausführt. Dafür erstellt man einen Cronjob welcher die Datei run_reoback.sh ausführt. Zuerst muss man diese aber auch noch editieren und anpassen. Auch hier ist alles in der Datei selber erklärt. Im Zweifelsfall auch hier wieder ein cp run_reoback.sh run_reoback.sh.backup erstellen.

    Ein Croneintrag kann man zB so erstellen:

    1. crontab -e
    2.  
    3. 0 23 * * * /etc/reoback/run_reoback.sh | mail -s "automatisches Backup" admin@yourdomain.com

    Dies führt das Backup jeden Tag um 23:00 aus und sendet eine E-Mail an die angegebene E-Mail Adresse.

    screenshoots: 
  • Drupal Linux Apache Solr Search im Hintergrund laufen

    Hat man in Drupal den Apache Solr Search als Suchmaschiene installiert, kann man den in Linux/Debian mit folgendem Befehl im Hintergrund starten. Voraussetzung ist natürlich, man hat Zugriff auf die Kommandozeile.
    So wirds gemacht (natürlich muss man im Verzeichnis sein, wo die start.jar abgelegt ist):

    nohup java -jar start.jar > logfile 2>&1 &

    Hilfe zum Befehl "nohup" gibts hier:
    http://de.linwiki.org/wiki/Linuxfibel_-_Nutzerkommandos_-_Prozesssteueru...

  • SVG Ring/Donut zeichnen

    Du willst mit Javascript und SVG ein Ring bzw. ein Donut zeichnen, also ein Kreis der innen hohl ist?
    So wird es gemacht:

    1. /**
    2.   * SVG Donut Object
    3.   */
    4. var oDonut = function(x, y, r, R) {
    5. var y1 = y+R;
    6. var y2 = y+r;
    7. var path = 'M'+x+' '+y1+ 'A'+R+' '+R+' 0 1 1 '+(x+0.001)+' '+y1; // Outer circle
    8. path += 'M'+x+' '+y2+ 'A'+r+' '+r+' 0 1 0 '+(x-0.001)+' '+y2; // Inner Circle
    9. var c = document.createElementNS('http://www.w3.org/2000/svg', 'path:path');
    10. c.setAttributeNS(null, 'd', path);
    11. return c;
    12. };

  • Wuala für Android

    Endlich ists da! Wuala für Android. Ich werde das gleich Testen und ein kurzes Review machen:
    http://wualablog.blogspot.com/2011/04/wuala-for-android-os.html
    Mein Umzug in die Cloud ist komplett.

  • Wuala und Winamp

    Nachdem nun meine Musik komplett in Wuala Cloud abgelegt ist, möchte ich meine MP3 auch direkt aus Wuala streamen können. Als langjähriger Winamp Benutzer habe ich die zwei Programme auf Ihre Verträglichkeit überprüft. Meine Schlussfolgerung: Funktioniert Super!
    Einzige Schwachstelle ist das einmalige Indexieren der Sammlung. Um nämlich alle MP3s in den Index von Winamp aufzunehmen, muss Wuala jedes MP3 temporär herunterladen, damit er die Metadaten einlesen kann. Hat man dies (zb über Nacht) einmal gemacht, geht das ganze Reibungslos, solange man natürlich am Internet ist. Auch das Rescannen geht schnell, da Winamp beim Rescan nur die Dateinamen vergleicht - und dazu muss Wuala die Datei nicht herunterladen.
    Da Wuala das Streamen beherrscht, gibt es auch keine Unterbrüche zwischen den einzelnen Lieder.
    Im Anhang sind meine Medienbibliothek Einstellungen. Viel Spass!

    screenshoots: 
Inhalt abgleichen