Dell Anti-Features

Gestern ärgere ich mich noch über Dell, heute rauscht an im mir IRC Antifeatures vorbei…

Konkret habe ich mich über Dell und auch vorher schon andere geärgert, weil sie genau solche Antifeatures einbauen, man gucke sich nur mal die Produktbeschreibung der Powervault md3600i an, dort kann man zusätzliche “Features” kaufen, ich picke hier mal drei heraus, die m.A. besonders dreist sind:

1. Snapshots

2. Virtual Disk Copy

3. High Performance Tier (HPT)

Wow, ich war immer der Ansicht, dass man sich ein SAN kauft, weil es Features wie z.B. LUN Snapshots hat…nein es kostet ca. 1000€ extra. Virtual Disk Copy ermöglicht es, die LUNs direkt im SAN zu kopieren, eigentlich auch ein “Standardfeature”..nochmal ca. 1000€. Punkt drei ist der Hammer: man bekommt ein gedrosseltes SAN und darf sich für ca. nochmal 1000€ von der Drossel freikaufen! Unverschämt bei Geräten, die eh schon was Fünfstelliges kosten… danke Dell! :(

Posted in Rechenzentrum, Uncategorized | Tagged , , , , , , | Leave a comment

Google+

Die Google+ Beta läuft nun, hier mein kurzer Senf dazu:

Circles
- sehr gute Idee, die Kategorisierung erlaubt das Senden von Nachrichten nur an bestimmte Gruppen
- man kann den Nachrichtenstream nach Circles filtern
- die Erstellung der Circles ist sehr schön implementiert


Chat
- gut integriert
- witzige animierte Smilies
- gute Integration von Google Video
- integrierter Dateiversand
- m.A. nur für einen kurzen Chat zwischendurch geeignet, da das Fenster recht klein ist

Sparks+
- fühlt sich ‘kalt’ an
- keine Bilder bei meinen Custom Searches, wirkt langweilig und zu sauber
- ‘Vorgestellte Interessen’ ist mit Bildern aufgehübscht
- Sparks muss sich noch besser ‘anfühlen’

Posted in Info, web | Tagged , , | 1 Comment

LD_PRELOAD magic

Wenn man z.B. ein Programm hat, dass prüft, ob man eine bestimmte CPU hat – z.B. weil es nicht unter qemu verwendet werden soll – kann es sinnvoll sein, den Check zu umgehen, bzw. dem Programm vorzugaukeln, dass alles OK ist. Hierfür kann man idealerweise LD_PRELOAD nutzen, welches einen bestehenden Library Call überlädt. Im Detail läuft das wie folgt ab:

- man findet die Adresse des originalen Library Calls per dlsym()
- man deklariert die Funktion, sie überlädt die originale Funktion (hier: open())
- man schreibt in der Funktion je nach übergebenem Parameter um, zurückliefert wird
- oder man führt die Originalfunktion aus

/*
* open_preload.c
*/
 
#define _GNU_SOURCE
#include <sys/syscall.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dlfcn.h>
#include <dirent.h>
 
static void init (void) __attribute__ ((constructor));
 
int (*real_open)(__const char *name, int flags, mode_t mode);
 
static void init (void)
{
        real_open = dlsym(RTLD_NEXT,"open");
}
 
int open(const char *pathname, int flags, mode_t mode)
{
	if (strcmp(pathname,"/proc/cpuinfo") == 0)
	{
		return(real_open("/tmp/cpuinfo",flags,mode));
	}
	else
	{
        	return(real_open(pathname,flags,mode));
	}
 
}

Das Ganze compiliert und testet man dann wie folgt:

[sb@machine ~]$ echo test > /tmp/cpuinfo
[sb@machine ~]$ gcc -g -fpic -shared -ldl -o open_preload.so open_preload.c
[sb@machine ~]$ LD_PRELOAD="./open_preload.so" cat /proc/cpuinfo 
test
[sb@machine ~]$

Das fühlt sich schon ein wenig nach RootKit-Programmierung an. ;)

Posted in Linux, Uncategorized | Tagged , | Leave a comment

Paketverlust mit D-Link DGS-1210-48

Beim Testen von zwei brandneuen D-Link DGS-1210-48 fiel auf, dass auf dem Gerät Paketverlust auftritt. Je größer die Pakete, desto höher war auch der Verlust – bis zu 7%. Das ist natürlich nicht akzeptabel. Nach einigem Überlegen hatte ich eine Idee woran es lag:


Tatsächlich behob das Umstellen dann auch das Problem. Offensichtlich gibt es hier ein Problem damit, dass der Switch die Sendeleistung bei kurzen Kabeln (wie sie im Rechenzentrum im Access-Layer üblich sind) herunterschraubt. Eigentlich schade, denn grade die Stromsparfeatures machen den Switch interessant. Ansonsten machen die Geräte bisher aber einen ganz soliden Eindruck. :)

Posted in Rechenzentrum | Tagged , , , , , | 4 Comments

Erster Monat

Wow, nun ist schon der erste Monat www.admlife.de zu Ende, das ging fix! Besucher hatte ich etwas über 1000, zu 90% aus Deutschland. 56% nutzen Firefox, 29% Webkit, 6% jeweils IE und Opera, 3% Rest. Ca. 55% der Besucher haben Windows, 45% Linux, der Rest ist MacOS und iPAD. Pro Tag gab es einen Kommentar und 0.5 Spamcomments. Vielleicht wird es langsam Zeit über Spamschutz nachzudenken.

Gibt’s sonst schon von irgendwem da draußen Verbesserungsvorschläge?

Posted in fun, Info | Tagged | 1 Comment

ph-neutral

Bitcoin-Money-Laundering-Botnets are now a meme.

Und nun mal im Ernst: wer ein Botnet hat, wird seine Zeit nicht mit Bitcoin, sondern viel einträglicheren Dingen wie Bankkonten, Klickbetrug usw. verbringen.

Posted in fun, Security | Tagged , , , | 2 Comments

awesome: Laptop Batteriestatus anzeigen

Hier ein weiterer Tipp für awesome: der Laptop Batteriestatus soll angezeigt werden. Zuerst kopiert man das von mir gestern programmierte Tool cbatt nach /home/name/cbatt.sh, dann trägt man folgendes in der rc.lua ein:

mybattmon = widget({ type = "textbox", name = "mybattmon", align = "right" })
function battery_status ()
        local fd=io.popen("/home/name/cbatt.sh", "r")
        local line=fd:read()
        return line
end
 
mybattmon.text = " " .. battery_status() .. " "
my_battmon_timer=timer({timeout=30})
my_battmon_timer:add_signal("timeout", function()
    mybattmon.text = " " .. battery_status() .. " "
end)
my_battmon_timer:start()

Unter mywibox[s].widgets = { … } fügt man dann noch an der gewünschten Stelle mybattmon hinzu, und fertig ist die Chose. Der Timeout legt fest, wie oft das Script aufgerufen wird; jede Sekunde wäre m.A. arg übertrieben und verkürzt die Akkulaufzeit sicherlich.

Wer wie im Vorpost mehrere Rechner hat, und die Batterieanzeige z.B. nur auf dem Laptop anzeigen will, nutzt folgenden Schnippsel um das Ganze zu erweitern:

    -- hostname auslesen
    a=io.popen("uname -n");
    io.input(a)
    if io.read() == "laptop" then
    	batt=1
    end
 
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
        {
            mylauncher,
            mytaglist[s],
            mypromptbox[s],
            layout = awful.widget.layout.horizontal.leftright
        },
        mylayoutbox[s],
        mytextclock,
	batt == 1 and mybattmon,		-- Batterie nur beim richtigen Host hinzufügen
        s == 1 and mysystray or nil,
        mytasklist[s],
        layout = awful.widget.layout.horizontal.rightleft
    }

Posted in desktop, Linux | Tagged , , , , , | 6 Comments

awesome: individuelle Hintergrundbilder pro Host

Wer sein ~ in einem Versionskontrollsystem wie z.B. git pflegt, trackt damit seine gesamten Daten, um z.B. auf verschiedenen Rechnern immer gleiche Datenbestände incl. Versionierung zu haben. Das Problem dabei ist, dass der Windowmanager (hier: awesome) für die verschiedenen Geräte ggfs. auch andere Einstellungen braucht, z.B. für das Hintergrundbild. Über den uname des Systems kann man einfach unterscheiden, wo das Script grade aktuell ausgeführt wird und erspart sich das Pflegen von 2 Konfigurationen. Hierzu erstellt man z.B. unter Gentoo die ~/.config/awesome/theme.lua wie folgt:

theme_path = "/usr/share/awesome/themes/default/theme.lua"
theme = dofile(theme_path)
a=io.popen("uname -n");
io.input(a)
 
if io.read() == "laptop" then
theme.wallpaper_cmd = { "awsetbg /home/user/real_1280x800.jpg" }
else
theme.wallpaper_cmd = { "awsetbg /home/user/real_1920x1280.jpg" }
end
 
return theme

Voila – es wird immer das korrekt dimensionierte Wallpaper geladen.

Posted in desktop, Linux | Tagged , , , , , , | 2 Comments

Chaosdorf – Umbaustatus

Leider konnte ich an diesem Wochenende nur ab Sonntag Mittag mithelfen; es geht langsam, aber stetig voran. Die ersten Netzwerkdosen sind nun auch ganz verputzt, wie man sehen kann! :)

 

Auch CAN-BUS wurde fleißig weiter verlegt. ;)

Nachdem der alte Raum nun ausgeräumt wurde, wird das nächste Plenum dann erstmals in den neuen Räumlichkeiten stattfinden. Leider ist der Umbau m.A. aber noch nicht so weit fortgeschritten, wie wir uns das erhofft hatten. Hoffentlich wird bis Freitag die Kabelbühne geliefert, sodass diese dann montiert und darauf darauf mit der Netzwerkkabelverlegung für den Hauptraum begonnen werden kann.

Posted in Chaosdorf | Tagged , , | Leave a comment

Linuxtag

Linux Tag LogoMittwoch ist es soweit: der Linuxtag beginnt! Das Programm kann sich meiner Meinung nach wie immer sehen lassen, persönlich finde ich Donnerstag und Freitag am Interessantesten und werde dann auch mit einem Kollegen vor Ort sein.

Hoffentlich ist zwischen den ganzen Vorträgen auch genügend Zeit dafür, etwas am Gentoo-Stand vorbeizuschauen…

Posted in Gentoo, Info, Linux | Tagged , , | 2 Comments