Archiv ‘IT’

Dienstag, 18. Mai 2010

Thing und Data Tables

Instead, they keep a Thing Table and a Data Table. Everything in Reddit is a Thing: users, links, comments, subreddits, awards, etc. Things keep common attribute like up/down votes, a type, and creation date. The Data table has three columns: thing id, key, value. There’s a row for every attribute. There’s a row for title, url, author, spam votes, etc. When they add new features they didn’t have to worry about the database anymore. They didn’t have to add new tables for new things or worry about upgrades. Easier for development, deployment, maintenance.  The price is you can’t use cool relational features. There are no joins in the database and you must manually enforce consistency. No joins means it’s really easy to distribute data to different machines. You don’t have to worry about foreign keys are doing joins or how to split the data up. Worked out really well. Worries of using a relational database are a thing of the past.

Quelle: High Scalability – High Scalability – 7 Lessons Learned While Building Reddit to 270 Million Page Views a Month

Tags: , ,
Labels: IT, Web

Keine Kommentare | neuen Kommentar verfassen

Montag, 10. Mai 2010

Gutes Mittelmass oder direkt an die Spitze?

Everybody wants to be Michael Jordan. We look at Google and eBay, and a handful of vastly profitable billion-dollar businesses and people think that the road to that goes through the VCs. If they want their shot at being the Google, they have to go that path and that is really appealing.

They forget that the odds of that happening are vanishingly small. They forget the fact that they could just aim to be a million dollar business and they’ll probably be a lot better off. They’ll probably have a lot higher odds of success, but it’s just not as sexy.

Quelle: Everybody wants to be Michael Jordan – (37signals)

Diese Weisheit kann man wohl auf alle Lebensbereiche übertragen …

Tags:
Labels: IT, Wirtschaft

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 28. April 2010

Hausdurchsuchung schenkt der Polizei Terrabytes an Daten

The police who searched Jason Chen’s home seized the following: A macbook, HP server, two Dell desktop computers, iPad, ThinkPad, two MacBook Pros, IOmega NAS, three external hard drives, and three flash drives. They also seized other storage-containing devices, including two digital cameras and two smart phones. If Jason Chen’s computing habits are anything like mine, the police likely seized many terabytes of disk space, storing hundreds of thousands (millions?) of files, containing information stretching back years.

Quelle: The Gizmodo Warrant: Searching Journalists in the Terabyte Age | Freedom to Tinker

Wie war das im 2006 bei mir? Glücklicherweise nahm man mir nur den Server und den PowerMac G3 weg. Dabei hatte ich im Schrank in meinem Computerzimmer unzählige Speicherkarten, USB-Sticks, Festplatten, Mobiltelefone und zwei Laptops liegen …

Eigentlich könnte ich ja jetzt, da das Verfahren abgeschlossen ist, mal bei der Polizei nachfragen, ob die 1:1-Abbilder meiner Festplatten noch irgendwo auf einem SAN des Fachbereichs Computer- und Wirtschaftskriminalität rumlümmeln.

Tags: , , ,
Labels: Apple, Bern, IT, Schweiz, USA

Keine Kommentare | neuen Kommentar verfassen

Freitag, 26. März 2010

Die ITler der Bundesverwaltung überraschen vollends

Wie kann er es innerhalb eines Jahres mit knappen Budget zu Stande bringen, wenn alleine der Serverbeschaffungsprozess für Bundesämter 3 Monate dauert? …

Anstelle der zeitaufwändigen Beschaffung von Servern, hat sich das Team einfach bei Amazon EC2-Server und S3-Speicherplatz gemietet.

Quelle: Hymnos – In Wirklichkeit Gar Nicht Anwesend » Der Schweizer Google Maps-Klon: Geo.admin.ch

Wow! Das Resultat:

map.geo.admin.ch

Tags: ,
Labels: IT, Schweiz

Keine Kommentare | neuen Kommentar verfassen

Freitag, 12. Februar 2010

Wie man mit PR-Fuzzis und Juristen umgeht

Anhand von Google:

Larry Page hat der 130-köpfigen PR-Abteilung seiner Firma im Jahr 2008 ganze acht Stunden zugestanden für Pressekonferenzen, Interviews und Reden.

[…] Die erste Rechtsanwältin, die von den Firmengründern widerwillig angestellt wurde, erhielt von Brin die Testaufgabe, für ihn einen Vertrag mit dem Teufel zum Verkauf seiner Seele aufzusetzen. Er wusste, dass sie so etwas noch nie gemacht hatte.

Quelle: Das Magazin » Larry und Sergey …

Tags: , , ,
Labels: IT, Medien, USA, Web

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 3. Februar 2010

Offline-Manuals für Web-Entwickler

Da ich morgen 10 Stunden in einer Boeing 767-300 eingepfercht sein werde, nehme ich mein MacBook (mit brandneuem Akku, da der alte die 300 Ladezyklen überschritten hat) mit an Bord und werde an Web-Projekten programmieren. Wie es aber so ist, hat man im Flugzeug immer noch keinen Internet-Zugang, weshalb es von sehr, sehr grossem Wert ist, wenn man sich die gängigsten Handbücher auf den lokalen Laptop lädt.

Nachfolgend die Links, die sich mit einem

wget -i <datei>

herunterladen kann:

# 2010-02-03
# by Mario Aeby

# Apache 2.2
http://mirror.switch.ch/mirror/apache/dist/httpd/docs/httpd-docs-2.2.14.en.zip
http://mirror.switch.ch/mirror/apache/dist/httpd/docs/httpd-docs-2.2.14.en.pdf

# MySQL 5.0
http://downloads.mysql.com/docs/refman-5.0-en.html-chapter.zip
http://downloads.mysql.com/docs/refman-5.0-en.a4.pdf

# PHP
http://ch.php.net/get/php_manual_en.tar.gz/from/this/mirror

# jQuery 1.4
http://download881.mediafire.com/gidquw4y1u1g/mgmrt0ehzyz/jquery-1.4.chm.7z

# SelfHTML 8.1.2
http://ftp.uni-ulm.de/mirrors/selfhtml/selfhtml812.zip

Tags: ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 27. Januar 2010

Apples iPad

Ich und Kollege Torquenstein waren uns heute um 19:35 Uhr einig: Das iPad ist nicht ein Gadget, das wir uns unbedingt und sofort kaufen müssen.

Doch nachdem ich mittlerweile nach Hause gekommen bin und mir das Promo-Video angeschaut habe — Jonathan Ive: Frisst er angesichts dieser Oberarme eigentlich Anabolika? Hat er neben der Arbeit bei Apple Zeit, ins Fitness-Studio zu gehen? Phil Schiller: Diese Warzen im Gesicht sind hässlich! — muss ich meine Meinung doch etwas revidieren.

Während der erste Mac und das erste iPhone tatsächlich auf den ersten Blick bahnbrechend waren, ist es das iPad erst beim zweiten oder dritten Hinsehen.

Werden wir in 5 Jahren auf den heutigen Tag zurückblicken, werden wir ihn als Wendepunkt in der Geschichte der Consumer-Computer begreifen. Heute ist der Tag, an welchem der erste brauchbare Heimcomputer vorgestellt wurde, der vollständig auf ein Hardware-Keyboard verzichtete. Apple führt in diesen Tagen ein grosse Experiment mit uns erfahrenen Computer-Anwendern durch: Man will uns die Hardware-Tastatur abgewöhnen und auf Handgesten trimmen. Multi-Touch gehört in vielen Bereichen die Zukunft. Die Herkules-Aufgabe richtet sich aber nicht nur an die Endanwender, sondern auch an die Software-Entwickler, die nun gefordert sind, anständige Desktop-Applikationen zu entwickeln, die vorzüglicherweise mit Fingereingaben zu bedienen sind.

Wo werden wir das iPad, seine Nachfolger und Nachbauten von Dell & Co. in 5 Jahren einsetzen?

  • Ich werde Gästen die Photos meiner Ferienreise (aktuell sind die Fotos von Westafrika 2010) am Stubentisch auf einem solchen Gerät präsentieren. Wenn es gerade nicht gebraucht wird, steht es wie früher ein Bilderrahmen in der Stube und zeigt nach Zufallsmuster Fotos aus meiner über Jahren angehäufter Schnappschuss-Sammlung.
  • Ich werde beim Morgentisch ein iPad neben mir liegen haben, das die neueste Ausgabe der Tageszeitung anzeigen wird. Mit dem iPhone habe ich mich bereits daran gewöhnt, Zeitungen auf diese Weise zu lesen (z.B. mit der Tagi-Applikation). Dank dem iPad hat man endlich die Möglichkeit, dies auf einem Bildschirm mit ansprechender Grösse zu tun.
  • Das iPad ist auch ein überdimensionales VoIP-Telefon — und zwar eines, welches intuitiv zu bedienen ist und endlich ein anständiges Adressbuch mit sich bringt.
  • Gehe ich auf Reisen, wird künftig kein 2 Kilogramm schweres MacBook in meinem Handgepäck mitreisen, sondern ein iPad (vorausgesetzt, es wird am Zielort nicht erwartet, dass ich 1000 Zeilen Code programmiere). Im Flugzeug werde ich darauf einen Film in bester HD-Qualität schauen und den im Vordersitz eingebauten mickrigen und schlecht auflösenden LCD-Screen nicht mehr beachten.
  • An der Universität werden Dozenten die Unterrichtsmaterialien (bspw. einen Fachartikel) in einem Format abliefern (PDF mit OCR?), mit welchem man es auf dem iPad in der iBooks-Applikation anschauen kann. Dank Gesten wird man wichtige Passagen hervorheben und mit Notizen versehen können.
  • Wenn ich im Badezimmer zur täglichen Dusche verschwinde, lässt das iPad Radiosender oder meine MP3-Sammlung ertönen.
  • Nachtrag: Gemäss fscklog wird man das iPad auch an einen Beamer anschliessen können. Freuen wir uns also darauf, dass wir künftig zu Präsentationen kein 2 Kilogramm schweres Notebook mehr mitschleppen müssen. Das iPad tuts auch …
  • Man stelle sich einen kalten Januar-Abend vor. Die ganze Familie ist um den Stubentisch versammelt und spielt ein Brettspiel. Dafür hat die Tochter nicht etwa eine grosse Kartonschachtel aus dem Spielschrank geholt, sondern einfach das iPad auf den Tisch gelegt und das Brettspiel der Wahl als Applikation gekauft, heruntergeladen und gestartet (via Excitement about iPad: A Large Screen Multi-Touch Platform).
  • Wenn das iPad in Revision 2 oder 3 eine Webcam erhält, steht dem Durchbruch der Videotelefonie nichts mehr im Wege. Das iPad wäre endlich ein mächtiges Telefon, dass sogar meine Oma problemlos bedienen könnte. Ich muss in diesem Zusammenhang nämlich zugeben, dass ich das Telefon auf der Arbeit immer noch nicht begreife — zu viele kryptische Knöpfe, ein zu kleines Display, keine anständige Menuführung.

Doch wahrscheinlich werden es die Software-Entwickler sein, die dem Gerät noch völlig neue Anwendungszwecken, ungeahnte Fähigkeiten beibringen werden …

Grösster Nachteil: Es handelt sich um ein komplett geschlossenes System. Ohne Apples Kopfnicken wird keine Applikation darauf laufen können.

Tags:
Labels: Apple, IT

1 Kommentar | neuen Kommentar verfassen

Freitag, 25. Dezember 2009

Besser als die Weihnachtsgeschichte: Duke Nukem Forever

His name is George Broussard, co-owner of 3D Realms and the man who headed the Duke Nukem Forever project for its entire 12-year run. Now 46 years old, he’d spent much of his adult life trying to make a single game, and failed over and over again.

Quelle: Learn to Let Go: How Success Killed Duke Nukem | Magazine

Tags: , , ,
Labels: Funny, IT, USA

1 Kommentar | neuen Kommentar verfassen

Samstag, 19. Dezember 2009

Brauchen Softwareentwickler wirklich Höllenmaschinen?

I have endless battles with overzealous developers who swear up and down that they use their desktops like servers. Sure you do! And you’re building the space shuttle with it, right? Of course you are. Yeah.

Quelle: Building a PC, Part VI: Rebuilding

Tags: ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 13. Dezember 2009

Erfahrungen bei einem Server-Upgrade

Gestern um 20:00 begann ich damit, meinen Heimserver dem grössten Upgrade in seiner Geschichte zu unterziehen. Zwei Gründe bewegten mich zu diesem Entscheid: Einerseits war das Gerät längst betagt und mittlerweile äusserst schwach auf der Brust. Andererseits kämpfe ich seit dem Sommer 2009 sporadisch mit „Black Screens Of Death“, welche nur mit einem Reset zu beheben waren. Natürlich machen solche Ausfälle bei einem eigentlich 24/7 verfügbaren Server keinen Sinn. Leider brachte die Fehlersuche über Monate hinweg keine Ursache zu Tage. Vermutlich lag es an der Altersschwäche eines Bauteils.

Was hat sich in der Hardware geändert?

Server alt

  • Yeong Yang YY-B0221 (spezielles Server-Gehäuse mit zwei Abteilen für Motherboard und Laufwerke)
  • Intel Pentium III, 600 MHz
  • Asus P3B-F
  • 4x Kingston 256 MB, SDRAM, PC100 — KVR133X64C3/256
  • Matrox Millennium G200, AGP
  • Intel PWLA8391GT, PCI, Gigabit-Ethernet
  • Adaptec AHA-2940U2W, SCSI-Controller
  • 1x Fujitsu MAJ3182MP, 18.2 GB, U2W-SCSI — System
  • FirmTek SeriTek/1S2, SiL 3112, SATA-Controller
  • 1x Maxtor , 160 GB, SATA — /var
  • 2x Promise Ultra 133 TX2
  • 4x Samsung SP2514N, 250 GB, ATA-7 (RAID1+0) — Storage

Server neu

  • Yeong Yang YY-B0221 (spezielles Server-Gehäuse mit zwei Abteilen für Motherboard und Laufwerke)
  • Intel Core 2 Duo E5400, Dual Core 2.7 GHz, 800 MHz
  • Asus P5QPL-VM-EPU, Mini-ATX
  • 1x Apacer 1 GB, DDR2, 800 MHz
  • Intel PWLA8391GT, PCI, Gigabit-Ethernet
  • 1x Samsung HD161GJ, 160 GB, SATA-3 — System
  • 2x Samsung HD154UI, 1.5 TB, SATA-3 (RAID1) — Storage

Erfahrungshäppchen

  • Grundsätzlich sei wieder einmal zu erwähnen, dass man ein solch tiefgreifendes Hardware-Update unter Windows schlichtwegs hätte vergessen können; um eine Neuinstallation wäre man auf Grund der komplett anderen Hardware nicht herumgekommen. Ich lobe mir deshalb Debian GNU/Linux, welches — zwar auch mit einiger (selbstverursachter) Müh und Not — nach einigen Anpassungen anstandslos unter der neuen Hardware bootete.
  • Durch die Vereinfachung der Storage-Infrastruktur (Wegfall von 3 Platten und 4 Controllern) sank die Stromaufnahme um 5 %, obwohl anzunehmen ist, dass CPU und Motherboard mehr Energie benötigen als die Komponenten des alten Servers.
  • Dass im Server-Gehäuse nun nur noch 3 statt 6 Festplatten hängen, erlaubt mir, diese deutlich effizienter zu kühlen. Auch das Betriebsgeräusch des Servers ist aus meiner Empfindung etwas leiser geworden.
  • Das Motherboard weist einen sog. EATXPWR-Connector auf. Auf den ersten Blick befürchtete ich, am Sonntag noch ein neues Netzteil kaufen zu können. Steckt man den Stromstecker eines normalen ATX-Netzteils ein, sind vier Pins des neuen Steckers nicht belegt. Das Board startet trotzdem — wenn man den zusätzlichen 4-pin 12V-Anschluss in der Nähe des Prozessors mit dem entsprechenden Kabel des Netzteils bestückt. Der Betrieb ist also durchaus möglich — entweder mit 20-pin ATX + 4-pin ATX 12V oder 24-pin EATXPWR.
  • Aus ISO-Images von Ubuntu einen bootbaren USB-Stick zu bauen, ist unter Mac OS X nicht möglich. Es wird vielerorts empfohlen, stattdessen die IMG-Datei des Ubuntu Netbook Remix herunterzuladen, ohne aber auf eine solche Datei zu verlinken. Diese gibt es nämlich nur für das ältere Ubuntu 9.04 (aktuell: 9.10); bspw. auf dem SWITCH-Mirror: ubuntu-9.04-netbook-remix-i386.img. Mit diesem Image soll es anschliessend gemäss Anleitungen im Netz möglich sein, unter Mac OS X mit dem Terminal den Stick mit Ubuntu bootbar zu machen.
  • Da der Download dieser Datei ein gute Stunde dauerte, habe ich schlussendlich einen alten DVD-Brenner im Server verbaut und den Server von CD gebootet.
  • Bei der Partitionierung der neuen 160 GB-Systemplatte mit fdisk unter Ubuntu Live-CD habe ich bei der Grössenangabe für die einzelnen Partitionen vergessen, ein + voranzustellen (Bspw. +512M für eine Partition mit 512 MB Platz). Deshalb ist meine /boot-Partition nun nicht 512 MB gross, sondern 3.1 GB *autsch*
  • Um den Swap-Space zu initialisieren, benutzte ich mkswap, was beim ersten Anlauf aber enorm viel CPU-Resourcen benötigte und nicht vor dem Ende meiner Geduld abgeschlossen werden konnte. Indem ich dieses Executable ohne den Paramenter -c (für „check“) aufrief, rauschte die SWAP-Formatierung wie im Schnellzugstempo durch.
  • Nachdem ich die Daten von der alten SCSI-Systemplatte auf die SATA-Systemplatte kopiert hatte (der Adaptec AHA-2940U2W SCSI-Controller und die daran hängende Platte wurde vom Board und Ubuntu problemlos erkannt), startete der Rechner nicht, weil GRUB einen „Error 2“ meldete. Ich war mir ganz sicher, dass ich den Bootsektor in die richtige Platte geschrieben und mit hd(0,0) auch garantiert die richtige Platte konfiguriert hatte. Wo also lag das Problem? Dank eines Blog-Artikels GRUB „Error 2“ May Mean Incompatible stage1.5, stage2, and ext2 kam ich darauf, dass ich die Platte mit einem brandneuen mkfs.ext3 formatiert, dann aber die GRUB-Stages 1.5 und 2 datierend aus dem 2007 von der alten Platte in den Bootsektor geschrieben hatte. Glücklicherweise fanden sich unter /usr/lib/grub/i386-pc/ neuere Dateien im leicht grösseren Umfang und aus dem Jahr 2009. Nachdem ich diese Dateien über /boot/grub kopiert und den MBR neu geschrieben hatte, funktionierte der Bootvorgang dann endlich wie geschmiert.
  • Nachdem das System zum ersten Mal in der neuen Konfiguration ohne fremde Hilfe hochgekommen war (nicht vergessen: /etc/fstab und /boot/grub/menu.list müssen zwingend angepasst werden!), ging es nun darum, /var von der alten SATA-Platte rüberzukopieren. Wie bei allen Kopieraktionen verwende ich dazu # rsync -av . /mnt/sda1 oder dergleichen. Bricht der Kopiervorgang aus unerfindlichen Gründen ab, stellt man mit rsync sicher, dass nur diejenigen Dateien kopiert werden, die auf dem Zielsystem noch nicht identisch vorhanden sind. Auch werden die Benutzer und Rechte auf jeden Fall mitkopiert.
  • Die Daten vom RAID1+0 kopierte ich heute Sonntag-Nachmittag auf das neu erstellte RAID1. Damit ich die Daten nicht über das langsame Ethernet-Netzwerk kopieren musste, suchte ich mir zwei exteren USB-Festplattengehäuse und wählte dann zwei Festplatten des RAID-Verbundes aus. Wichtig ist bei RAID1+0 natürlich, dass man die zwei komplementären Platten nimmt, die im Degraded-Modus das ganze Volume herstellen. Damit mdadm die Platten erkannte, musste ich in /etc/mdadm/mdadm.conf einige Ergänzungen vornehmen, weil der verschachtelte RAID-Verbund nicht automatisch erkannt wurde. Kernstück waren dabei folgende Zeilen:
    ...
    DEVICE partitions
    ...
    ARRAY /dev/md10 metadata=0.90 UUID=8b74168f:921d62ec:197e72a9:dcc396dd
    ARRAY /dev/md11 metadata=0.90 UUID=c7acb783:7d200806:ba3b0bb9:fba14ed1
    ARRAY /dev/md1 metadata=0.90 UUID=0b0b49d4:63eada39:e2d889b1:01493278

    Die UUIDs waren glücklicherweise in der alten mdadm.conf hinterlegt. Sie sind unbedingt zu notieren und an einem sicheren Ort aufzubewahren. Anschliessend klappte es problemlos, die RAID-Arrays mittels # mdadm --assemble /dev/md0 etc. zu starten (natürlich in der richtigen Reihenfolge, d.h. /dev/md1 am Schluss, wenn die RAIDs der beiden USB-Platten gestartet wurden. Ob metadata=0.90 wirklich nötig ist, weiss ich nicht. Als ein Array nur im auto-read-only-Modus gestartet wurde, führte ich folgenden Befehl aus, um auch Schreibvorgänge zu ermöglichen (im Grund ja unnötig, da wir nur Daten ab der Platte kopieren wollen):

    # mdadm --readwrite /dev/md10
  • Der anschliessende Kopiervorgang war einerseits ein Burn-In-Test für die verschiedenen Bussysteme des neuen Servers (USB, SATA), andererseits zeigte er die Performance der neuen Hardware:
    sent 460359385722 bytes  received 762070 bytes  38412962.39 bytes/sec
    total size is 460300401834  speedup is 1.00

    — 38 MB/Sekunde sind kein schlechter Wert für ATA-7 über USB auf SATA.

  • Da das neue Board nur noch die Pins für einen LPT-Anschluss mitbringt, musste ich meinen HP Laserjet 1300 neu über USB an den Server anschliessen. Leider wurde dabei aber /dev/usb/lp0 nicht automatisch erstellt. Nach einem # apt-get dist-upgrade erschien dieses Device plötzlich in der Dateiliste. Nur noch /etc/printcap anpassen (statt /dev/lp0 ist es neu /dev/usb/lp0 — fertig!). Auf jeden Fall lud der Kernel alle benötigten Module (usblp, usbcore und uhci_hcd). Dass der Drucker auch wirklich da ist, erkennt man mit dem Befehl:
    # lsusb
    ...
    Bus 002 Device 002: ID 03f0:1017 Hewlett-Packard LaserJet 1300
    ...

    Dieser Befehl findet sich im Paket usbutils

  • Bei Aufräumarbeiten in meinem IT-Ersatzteillager fand ich zufälligerweise ein Slotblech, welches zwei serielle Ports (COM1 & COM2) bereitstellte. Da das neue Board Pins für eine COM-Schnittstelle mitbringt, konnte ich so die ältere USV (APC 1400VA) wieder am Server anschliessen.

Labels: IT, Linux

1 Kommentar | neuen Kommentar verfassen