Author: sd

weg mit dem dreck

ich habe mich ja schon oft als aol gegner zu erkennen gegeben. hier wieder mal eine erfreuliche nachricht auf heise:

26 Prozent Umsatzrückgang bei AOL

ich zitiere:

Aus dem Strategiepapier “The AOL Way” geht hervor, dass die Mitarbeiter mehr und günstiger als bisher Inhalte produzieren

in das “mehr und guenstiger” kann man jetzt viel hinein interpretieren. soll jeder mal seine phantasie spielen lassen. macht den laden einfach zu.. den braucht kein mensch mehr.

Share:
Tagged

copy & paste? hand aufs herz…

…mal ehrlich: wer schreibt seine mailadresse in bestaetigungsfelder nochmal rein?

oh shit – die internet mafia

“neuer angriff der internet mafia”… pha… wenn ich den begriff “internet mafia” definieren muesste, dann wuerde ich alle die dazu zaehlen, die sich gegen netzneutralitaet aussprechen und profit machen wollen. dazu packen koennte man auch die zensur- und ueberwachungsfreaks. aber die computerbild hats einfacher: mal schnell ne liste mit 1750 “teuflischen” programmen gemacht, die sie wahrscheinlich selbst mit ihren heft dvds verteilt haben 😉 (das sollte mal jemand nachpruefen… ist bestimmt nicht so weit her geholt)

endlicher wiedermal richtiger spam

mannmann… das wurde auch mal wieder zeit. spam wurde echt anstrengend… nicht weil es so viel war, sondern weil er immer “komplizierter” wird. dubiose angebote sind getarnt, angeboten wird alles, was nicht niet- und nagelfest ist, schweinkram zwischen normalen texten versteckt usw.

hier endlich wiedermal ganz normaler spam. ohne schnoerkel:

not-aus

ich zitiere mal 1:1 von “real life”, weils so schoen ist:

Der Not-Ausschalter fürs Internet ist eigentlich eine gute Idee.

Seid ihr morgens etwa nicht müde? Wenn wir jeden Abend um 22 Uhr das Netz abschalteten, bekämen wir endlich wieder genug Schlaf. Morgens um 8 Uhr wird das Internet wieder angeschaltet. So können wir auf dem Weg zur Arbeit endlich die Podcasts abarbeiten, die wir nie zuende hören, weil wir ständig neue Episoden laden.

Spammer wären den halben Tag von unseren Mailboxen, von unseren Blogkommentaren abgeschnitten – eine echte Steigerung der Lebensqualität. Mails von Kunden, die schnell noch etwas geändert haben wollen? Das hat nun ehrlich Zeit bis morgen früh.

Packen wir noch eine Ausgangssperre dazu, und das Problem der Wildpinkler ist so gut wie gelöst.

koalition einig: rente wird auf 400 euro gekuerzt

koalition einig: rente wird auf 400 euro gekuerzt“…so koennte irgendwann in der zukunft die ueberschrift heissen. auch wenn es niemand sagen wird… das ist mit sicherheit das ziel.

ich finde es wieder einmal unglaublich, wie die bild diese nachricht “verkauft”. ironie im artikel schliesse ich mal aus. das wuerde die mentalen faehigkeiten der zielgruppe eindeutig ueberfordern.

tsql – zeilenanzahl aller tabellen

es gibt viele unterschiedliche wege, die zeilenanzahl aller tabellen in einer datenbank einzeigen zu lassen. gerade wenn man noch anfaenger ist, landet man erstmal bei dem altbekannten:

SELECT COUNT(*) FROM TABELLE

…was man dann fuer jede tabelle machen muss. schnell hat man sich einen cursor drumherum gebaut damit das fuer alle tabellen in einer datenbank macht.

-- BEISPIEL 1

DECLARE @tables TABLE (
	tablename	varchar(255),
	rowcounter	int
)

DECLARE @table_name varchar(255)
DECLARE @SQLSTATEMENT nvarchar(255)
DECLARE @x int

DECLARE cur CURSOR FOR
	SELECT table_name 
	FROM information_schema.tables 
	WHERE TABLE_TYPE = 'BASE TABLE'
OPEN cur
FETCH FROM cur INTO @table_name
WHILE @@fetch_status = 0
BEGIN
	SET @SQLSTATEMENT = 
	 N'SELECT @x = COUNT(*) FROM ' + @table_name
	EXEC sp_executesql
		@SQLSTATEMENT,
		N'@x int OUTPUT',
		@x OUTPUT

	INSERT INTO @tables (tablename, rowcounter) 
	VALUES (@table_name, @x)
	FETCH FROM cur INTO @table_name
END
CLOSE cur
DEALLOCATE cur
SELECT * FROM @tables ORDER BY tablename

das ist natuerlich viel code fuer das bischen abfrage. es geht naemlich auch kuerzer mit der (von microsoft undokumentierten) sql-server internen stored procedure sp_MSforeachtable

-- BEISPIEL 2

CREATE TABLE #TABLEROWCOUNT
(
 TABLENAME sysname,
 ROWCOUNTER int
)
EXEC sp_MSforeachtable 
'INSERT #TABLEROWCOUNT (TABLENAME,ROWCOUNTER) 
SELECT ''?'',Count(*) from ?'
SELECT * FROM #TABLEROWCOUNT
DROP TABLE #TABLEROWCOUNT

schick ist das aber immer noch nicht. eleganter und performanter und ausfuehrlicher gehts mit einer (auch in sql server inegrierten) stored procedure namens sp_spaceused:

-- BEISPIEL 3

DECLARE @tables TABLE (
	tablename	varchar(255),
	rowcounter	int,
	reserved	varchar(255),
	data		varchar(255),
	index_size	varchar(255),
	unused		varchar(255)
)

DECLARE @table_name varchar(255)
DECLARE cur CURSOR FOR
	SELECT table_name 
	FROM information_schema.tables 
	WHERE TABLE_TYPE = 'BASE TABLE'
OPEN cur
FETCH FROM cur INTO @table_name
WHILE @@fetch_status = 0
BEGIN
	INSERT INTO @tables
	(tablename, rowcounter, reserved,
	data, index_size, unused)
	EXEC sp_spaceused @table_name
	FETCH FROM cur INTO @table_name
END
CLOSE cur
DEALLOCATE cur
SELECT * FROM @tables ORDER BY tablename

das schoenste und auch schnellste statement ist dieses hier (funktioniert erst ab sql server 2005):

-- BEISPIEL 4
-- zeigt alle user tables und deren zeilenanzahl der aktuellen 
-- datenbank. ohne "IS_MS_SHIPPED = 0" in der where 
-- klausel werden noch die system objekte angezeigt. 

SELECT T2.NAME, T3.ROW_COUNT 
FROM SYS.INDEXES T1 
INNER JOIN SYS.OBJECTS T2 ON T1.OBJECT_ID = T2.OBJECT_ID 
INNER JOIN SYS.DM_DB_PARTITION_STATS T3 ON 
T1.OBJECT_ID = T3.OBJECT_ID AND T1.INDEX_ID = T3.INDEX_ID
WHERE T1.INDEX_ID < 2 
AND T2.IS_MS_SHIPPED = 0 
ORDER BY T2.NAME

wenn man sich die performance der vier beispiele betrachtet wird schnell klar, welches man fuer groessere datenbanken nicht mehr gebrauchen kann. ich hatte eine datenbank zum "ausprobieren", in der 475 millionen datensaetze auf 60 tabellen verteilt waren. das waren die laufzeiten in millisekunden:

BEISPIEL 1: 156183 ms ( ~ 2 minuten 60 sekunden)
BEISPIEL 2: 155573 ms ( ~ 2 minuten 59 sekunden)
BEISPIEL 3: 173 ms
BEISPIEL 4: 13 ms

ich denke, dass es zu den ergebnissen nicht viel zu sagen gibt.

blog offline

dieses blog ist eigentlich gerade offiziell offline (seit 29.01.11 20:30 uhr). denn betrieben wird es in einer vmware an einem dsl anschluss der telekom mit festen ip-adressen von manitu. das dsl modem ist schon neu gestartet und synchronisiert. mein pfsense router hat auch schon einen reboot hinter sich sagt mir immer noch: “Authentication failed”. meine schlussfolgerung daraus ist, dass das problem wohl bei manitu liegt. wie bei anderen firmen auch ist die hotline natuerlich am wochenende nicht zu erreichen, emails an den support liest auch keiner und die status webseite sagt: “alles gut”. ich kann schonmal ausschliessen, dass es an meiner technik liegt, da christian das gleiche problem hat.

da ich den luxus von zwei dsl anschluessen (bei unterschiedlichen providern) habe, konnte ich die ip auf den anderen umbiegen, damit wenigstens das blog funktioniert.

mit schrecken stellte ich fest, dass sowieso wiedermal ein update der router software noetig ist. andere wuerden sagen: “meine uptime ist versaut”:

mal sehen, wie lange der ausfall noch andauert…

UPDATE: nach 24h gehts nun wieder. manitus statement dazu:

laut derzeitigem Kenntnisstand gab es im Laufe des gestrigen Abends und heutigen Tages eine Störung der Weiterleitung der DSL-Sitzungen von der T-Com an uns, welche allerdings noch unbestätigt ist.
Diese Störung betraf bzw. betrifft allerdings nur einen kleinen Teil unserer DSL-Kunden, weshalb wir diese nicht automatisch durch unser Monitoring erkennen konnten (eine Information der T-Com an uns erfolgt, da Sie der Anschlussinhaber sind, nicht an uns).
Zwischenzeitlich sollte die Zuführung wieder korrekt laufen (so unsere eigenen Tests).

Share:
Tagged

schlaglochschaden

und dank winterreifenpflicht gibt es auf den schrottplaetzen kaum noch 0815-stahlfelgen. es hat mich “nur” 19 telefonate gekostet, eine aufzutreiben.

Share:
Tagged

aegypten und google werbung