08. Aug
2012

Rails unter Windows – “Could not find a JavaScript runtime.”

Kategorien: Homepage | Keine Kommentare

Nach einigem Debuggen bin ich auf die Ursache des relativ häufig auftretenden ExecJS-Fehlers “Could not find a JavaScript runtime.” in Ruby on Rails auf meinem System (Windows 7, Ruby 1.9.3) gekommen.

Bei mir wurde die “PATH” – Umgebungsvariable aus irgendeinem Grund so gekürzt, dass nur noch das Ruby-Verzeichnis enthalten war.

Abhilfe schafft der folgende Code-Snippet in der boot.rb:

ENV['EXECJS_RUNTIME'] = 'JScript'
if RUBY_PLATFORM =~ /(win|w)32$/
 ENV['PATH'] += ';c:/Windows/System32/'
end

 

Natürlich kann auch z.B. NodeJS mit dem jeweiligen Installationspfad genutzt werden.

VN:F [1.9.22_1171]
Rating: 1.8/5 (5 votes cast)
24. Apr
2012

Die Cloud

Kategorien: Meinungen | Keine Kommentare

So langsam nerven mich Leute, die über “Die Cloud” reden. “Die Cloud” ist eine extrem heterogene Mixtur aus unterschiedlichen Technologien auf unterschiedlichen Ebenen (Infrastruktur, Plattform, Services) von tausenden verschiedener Anbieter. Die Technologien und Methoden gibt es teilweise schon seit Jahrzehnten, beispielsweise

  • Grid Computing

Verteilung von heterogener Rechen- und Speicherkapazität zu einem virtuellen “Supercomputer”. Erste Ansätze gab es schon in den 60er Jahren.

  • Utility Computing

Abrechnung von IT-Dienstleistungen (z.B. Computing, Speicher, etc.) nach tatsächlichem Verbrauch, ohne initiale Investitionskosten.

Schon 1971 gab es solche Ansätze, bspw. bei einer medizinischen Anwendung, die auf einem “time-shared utility computing system” läuft (heute würde man sagen: “Die Cloud”) und über ein Terminal (heute: “Webbrowser”) bedient wird. (siehe hier: http://dl.acm.org/citation.cfm?id=810536) Schon damals waren die Vorteile bekannt “Neither capital costs nor operating expenses need preclude its implementation and use.”.

  • Outsourcing

Auslagerung von Dienstleistungen aus dem Unternehmen zu externen Anbietern. Wurde mit der Verbreitung des Internets Mitte der 90er Jahre für den IT-Bereich immer beliebter.

  • Virtualisierung / Partitionierung

Unterteilung eines Computers oder eines Dienstes in mehrere abgeschottete “virtuelle” Computer / Dienste. Erste funktionierende Hardware-Virtualisierung gab es bereits Anfang der 70er Jahre mit dem IBM System/370 mit dem ersten “virtuellen Betriebssystem” VM/370. Partitionierung, bzw. Agentenfähigkeit gab es schon seit den Anfängen von Computer-Diensten und ersten vernünftigen Betriebssystemen (bzw. Time-Sharing Systemen).

  • Web Services

Die Idee, RPC-Schnittstellen im Rahmen einer Service-orientierten Architektur über ein einheitliches Protokoll (SOAP) anzubieten, wurde erstmals 1998 von Microsoft propagiert (interessantes Interview hier). Ich habe bereits als Schüler um die Jahrtausendwende einen einen Microsoft “Web Services mit SOAP”-Vortrag auf der CeBIT gesehen.

Jetzt sind das plötzlich alles “Cloud Technologien”. Was früher eine Internet-Applikation war, ist jetzt plötzlich eine “Cloud App”, so wie das Telekom Mediencenter jetzt “Telekom Cloud” heißt.

Übrigens ist ein einzelner Hetzner Mietserver immer noch erheblich günstiger, als die gleiche Leistung mit der “Amazon Cloud” abzubilden:

Hetzner EX5 (59€ / Monat)

  • Core i7-920 Quad-Core
  • 24 GByte RAM
  • 750GByte Storage
  • Unlimited Traffic (Drosselung ab 10TByte / Monat)

Amazon Cloud (“Hetzner-Maximalauslastung” – ~ 1000€ / Monat)

  • Region: Europa
  • High-Memory Extra Large Instanz (17GByte RAM, 2 virtuelle Kerne mit 3,25 EC2 Recheneinheiten)
    • Reserviert für 3 Jahre um den Preis zu senken = 3.100 $ / 36 Monate = 86,11 $ Reservierung pro Monat
    • Computing Kosten = 172,75 $ pro Monat
    • I/O Kosten (1 Volume, 750GByte, 50 IOPS / s – konservativer Wert, vergleichbar mit billiger SATA-Platte) = 96,8 $ pro Monat
  • 8 TByte / Monat ausgehender Traffic, 2 TByte / Monat einkommender Traffic = 982.92 $ pro Monat

Mir ist bewusst, dass das ein wenig Äpfel mit Birnen vergleichen ist. Aber ich denke, dass man schon mal einen groben Vergleich einer Cloud-Lösung mit der Maximalauslastung eines einzelnen Hetzner Root-Servers machen kann.

Man sollte sich gut überlegen, ob “unbegrenzte Skalierbarkeit”, “volle Virtualisierung” oder “weltweit verteiltes Rechenzentrum” mehr als das zehnfache an Kosten Wert ist. Letztenendes gibt es schon seit 30 – 40 Jahren skalierbare IT-Lösungen auf allen Ebenen, sei es Computing, Storage, Datenbanken, etc. – auch ohne “Cloud”. Eine Kombination von eigener (günstiger) Hardware, flexibler Software und eventuell öffentlicher Cloud-Ressourcen zur Abfederung von Lastspitzen ist oft die bessere Alternative zu “reinen” Cloud-Lösungen.

VN:F [1.9.22_1171]
Rating: 2.2/5 (5 votes cast)
25. Mrz
2012

Compass – CSS-Framework Evolution

Kategorien: Technologien | Keine Kommentare

Obgleich die Nichtexistenz neuer Blogeinträge seit dem 23. Februar 2012 es vermuten lässt – es gibt mich noch. Ohne Klage möchte ich doch hinweisen, dass mich die Heirats- und Flitterwochenvorbereitungen, sowie mein neuer Job, den ich nun endlich am 1. März antreten konnte, einiges an Zeit gekostet haben. Nichtsdestotrotz möchte ich heute einen Technologietipp für modernes Webworking geben.

Compass - Die nächste Evolutionsstufe von CSS-Frameworks

CSS-Frameworks, wie bspw. YAML können bei der Erstellung von CSS-Layouts die Arbeit stark vereinfachen, indem sie wiederverwendbare Module bereitstellen, mit denen man das CSS-Rad nicht jedesmal neu erfinden muss. Gerade im Hinblick auf die Sicherstellung der Cross-Browser-Kompatibilität eine enorme Vereinfachung. Allerdings kann keines dieser Frameworks funktionelle Mängel der CSS-Technologie selbst beheben.

Hier kommt zum Ersten Sass ins Spiel: Sass ist ein auf Ruby basierendes Framework zur Vereinfachung der Entwicklung von CSS-Layouts. Sass definiert zwei verschiedene Syntaxe, mit denen man ein Stylesheet definieren kann, welches dann nach CSS kompiliert wird. Hierbei unterstützt Sass alle bekannten Css-Funktionen, sowie eine Vielzahl an nützlichen Erweiterungen: unter anderem Variablen und mathematische Funktionen, Logische Schachtelung von CSS, “Mixins” (Blöcke von wiederverwendbarem CSS) und Selektor-Vererbung. Es lohnt sich allemal, die Sass-Homepage zu besuchen: Hier werden die nützlichsten Erweiterungen mit kurzen, eingänglichen Beispielen gezeigt.

Auf Basis dieser Technologie wurde Compass ins Leben gerufen. Compass ist eine Sammlung von Sass-Modulen, durch deren Verwendung der Entwicklungsaufwand von CSS-Layouts enorm gesenkt, ihre Komplexität verringert und dadurch die Wartbarkeit gesteigert werden kann. Compass ist relativ umfangreich und es lohnt sich ungemein, die mit vielen Beispielen angereicherte Referenz zu durchstöbern. Compass enthält außerdem Blueprint - der Name lässt es vermuten – eine generische CSS-Layout-Vorlage, die sich Funktionen von Compass zu Nutze macht.

Am meisten hat mir Blueprint Grid geholfen, ein äußerst flexibel einsetzbares Modul, welches es ermöglicht, semantische CSS-Klassen (also z.B. “main”, “sidebar”, “footer”) in einem CSS-Raster über Anweisungen, wie z.B. @include column(n) anzuordnen. Außerdem sind die CSS3-Module sehr nützlich, um browserübergreifend Verwendung der neuen CSS3-Funktionalitäten zu machen, wie bspw. border-radius.

Compass läuft auf allen Plattformen, die von Ruby unterstützt werden und lässt sich wie üblich über Rubygems installieren (“gem install compass”). Ich habe Compass erfolgreich unter Windows im Zusammenhang mit WordPress und unter Linux in einer Ruby on Rails – App im Einsatz.

Ausprobieren lohnt sich!

VN:F [1.9.22_1171]
Rating: 2.0/5 (4 votes cast)
23. Feb
2012

Matzelworkz Relaunch 2012

Kategorien: Homepage | Keine Kommentare

Seit heute erstrahlt Matzelworkz.de in neuem Gewand von WordPress 3.3.1.

Dies ist seit 2003 die insgesamt vierte Version meiner Homepage. Angefangen hat alles vor gut 9 Jahren mit einer Ansammlung statischer HTML-Seiten – damals noch in Dreamweaver erstellt und für Internet Explorer 4 optimiert. Im Sommer 2008 war dann genug Zeit für die Realisierung einer TYPO3-Installation mit sehr umfangreichen Inhalten. Diese TYPO3 – Installation wurde 2011 durch ein kleines CMS auf Basis von Ruby on Rails abgelöst. Jetzt ist es Zeit, matzelworkz.de durch eine neue WordPress-Installation um ein Blog und weitere Funktionen zu ergänzen.

Was mir die letzten neun Jahre und vier Homepage-Versionen verdeutlicht haben:

  • Die Internet Archive Wayback Machine erfasst alle Homepage-Peinlichkeiten eines Adoleszenten.
  • Das überragende Gefühl, durch ein eigenes CMS die grundlegendste Kontrolle über eine Homepage zu besitzen wird schnell von der großen Last abgelöst, (für meinen Geschmack) zu viele selbstverständliche Dinge von Grund auf neu implementieren zu müssen.
  • Der Vergleich zwischen TYPO3 und WordPress würde sicherlich einen eigenen Artikel rechtfertigen.
  • Leichte Pflege von Inhalten ist letztlich gewinnbringender, als technische Hochwertigkeit der Gesamtlösung.
  • Nach Implementierung von eigenen Erweiterungen und Anpassungen überzeugt mich die aktuelle WordPress-Installation mehr als die letzten drei Versionen von matzelworkz.de.

Ich hoffe, Ihr seht dies ähnlich.

VN:F [1.9.22_1171]
Rating: 2.0/5 (4 votes cast)
10. Jan
2012

Unsere neue DSLR

Kategorien: Privates | Keine Kommentare

Seit Kurzem sind Sabrina und ich stolze Besitzer einer Canon EOS 600D.

Lange Zeit habe ich darüber nachgedacht, ob eine solche Investition wirklich lohnenswert ist und ich mir nicht etwa wieder ein Spielzeug anschaffe, welches dann in irgendeiner Schublade landet.

Aber ich denke die ersten Bilder zeigen, dass sich die Investition gelohnt hat:

VN:F [1.9.22_1171]
Rating: 1.0/5 (2 votes cast)
31. Okt
2011

Bestanden

Kategorien: Privates | 1 Kommentar

Wirtschaftsinformatik Master-Studium “mit Auszeichnung” bestanden. Endnote: 1,15.

Ab Januar Februar März beginnt die Promotion.

Heute Abend: Sekt. :-)

VN:F [1.9.22_1171]
Rating: 1.8/5 (5 votes cast)
Seite 1 von 11

Powered by Wordpress
25 queries. 0,201 seconds.