Kategorien
C

Aufbau eines C-Programms für ZigBee Network Processor von Texas Instruments

Das Develepment Kit von TI kann hier gedownloaded werden. Damit lassen sich ZigBee Coordinator und End Devices programmieren und steuern.

ZigBee ist eine drahtlose Technik, die es vergleichbar mit WLAN ermöglicht energiesparend und kostengünstig Geräte zu vernetzen und fernzusteuern. Bsp ZigBee Stromablesegeräte in Göteburg (Schweden)

Kategorien
C

Bit-orientierte Operationen in C

Bitwise AND

0 & 0 == 0

0 & 1 == 0

1 & 0 == 0

1 & 1 == 1

Bsp
int a = 0x005A; // a = 10 +  16*5 = 90, in binary: 0000 0000 0101 1010, 2 + 8 + 16 + 64 = 90
int b = 0x00F0; // b = 0 + 16*15 = 240, in binary: 0000 0000 1111 0000, 16 + 32 +64 + 128 = 240
int x = a & b; //                                  0000 0000 0101 0000, 16 + 64 = 80

Bitwise OR

Kategorien
PHP

PHP nicht schreibbare Dateien finden und beheben

Ich habe folgende Funktion gebaut, um bei kritischen Operationen mit Dateischreiboperationen auf dem Laufenden zu sein, wenn sich Schreibrechte geändert haben und ein Schreiben in die Datei nicht möglich ist. Leider können der Fileowner in den meisten Fällen nur vom Superuser gesetzt werden, deswegen verschickt das Script eine Mail im Fehlerfall.

Dieses Problem trifft dann bei mir auf, wenn meine IDE Netbeans automatisch Dateien hochlädt, die ich garnicht bearbeitet hatte (Remote Synchronisation), dann wird die Datei überschrieben und der Fileowner neu gesetzt.

function checkFileWritable($file)
{
    if(!file_exists($file))
    {
        file_put_contents($file, "");
    }
    if(!chmod($file, 0644))
    {
        $fileowner = fileowner($file);
        echo "counld not change File Permissions: $file, File Owner is: $fileowner";
        if(!chown($file, ftpUserID))
        {
            echo "counld not change File owner: $file ";            
            mail(mailadresse, "Schreibeprobleme","File: $file, File Owner is: $fileowner");
        }
    }
}
Kategorien
Diverses

Google weiß alles – Adsense Werbung wie Online Shop Kauf

Nachdem ich bei kickz eingekauft habe im Online Shop, bekomme ich jetzt nur noch Adsense Bannerwerbung zu sehen mit kickz Werbung wie die diese.Daran hat man sich ja mittlerweile gewöhnt.

Komisch ist nur, dass mein Warenkorb und alle Artikel, die ich mir angeschaut habe in der Werbung enthalten sind.

Alle 3 Artikel in dem Werbebanner habe ich mir angeschaut und in in einer anderen Farbe auch bestellt!

Google weiß eindeutig schon zu viel und beeinflusst uns bei allem, was wir im Netz machen.

 

Kategorien
WordPress

WordPress Text fliesst nicht um Bilder herum

Bei vielen Themes ist das der Fall, wenn man die vergessen hat in die styles.css seines Themes, den entsprechenden Code von der WordPress Seite einzufügen.

Kategorien
CSS jQuery WordPress

Entfernen von leeren HTML paragraph Tags

Der Editor von WordPress generiert leere <p> Tags, die nicht sehr hilfreich sind beim Gestalten.

Eine Lösung via CSS (CSS3 – Kampatibilität :empty):

p:empty
{
    display:none;
}

oder mit besserer Browser Kompatibilität und jQuery:

 <script>
    $("p:empty").hide();
</script>
Kategorien
Android Java

Java Date zu Unix Timestamp Converter

Convert Date to Unix Timestamp (Long).

import java.util.Date;

public class DateHelper {   
    public static Long dateToTimeStamp(Date date) {
        Long millis = date.getTime();
        if(millis > 0)
        {
            return millis/1000;
        }
        else
        {
            return (long) 0;
        }
    }
}
Kategorien
Android Java

Andorid Sicherheit MD5 Hashing Class

Eine einfache Klasse, um MD5 Hashes mit Java zu erstellen.

Anmerkung: MD5 ist nicht mehr sicher, es sollte SHA1 verwendet werden. Wenn kein Weg drum herum führt, immer mit Salt verwenden.

public class Security {
    
    private static final String TAG = Security.class.getSimpleName();

    public static String getMd5Hash(String string) {
        String result = null;
        byte[] defaultBytes = string.getBytes();
        
        MessageDigest algorithm;
        try {
            algorithm = java.security.MessageDigest.getInstance("MD5");
            algorithm.reset();
            algorithm.update(defaultBytes);
            byte messageDigest[] = algorithm.digest();
                    
            StringBuffer hexString = new StringBuffer();
            for (int i=0;i<messageDigest.length;i++) {
                    String hex = Integer.toHexString(0xFF & messageDigest[i]); 
                    if(hex.length()==1)
                    hexString.append('0');
                    hexString.append(hex);
            }
            result = hexString.toString();
        } catch (NoSuchAlgorithmException e) {
            Log.e(TAG, "MD5 not available", e);
        }
        return result;                
    }
}
Kategorien
PHP

PHP XML toArray Funktion SimpleXMLElement

Die einfache Methode

Zum Parsen von XML kann man die folgende Funktion verwenden, die erstaunlich gut funktioniert 🙂 Der Trick ist, die Daten erst nach Json und dann zurück in ein Array zu wandeln

class xmlArray extends SimpleXMLElement {

      public final function toArray ()
     {
         $json = json_encode($this);
         return  json_decode( $json,TRUE );
    }
}
$xml = new SimpleXMLElement ("<?xml ......>");
$array = $xml->toArray();
Kategorien
PHP

PHPUnit Tests Web Interface für Kunden mit VisualPHPUnit

Wenn man seinen Kunden eine einfache Weboberfläche zum Ausführen von PHPUnit Tests bereit stellen will, kann man auf das sehr gute und einfach zu installierende VisualPHPUnit zurückgreifen.