RSS Feed
^__^

Mashcloud.net – mashup soundcloud audio tracks

,

mashcloud.net is an experiment on collaborative realtime audio editing and music creation.
I did the project within the frame of  my BA thesis in audio production last year.

As I moved the code to github this week, I wanted to give a quick overview of the project and its technical underlyings, just in case someone might be interested :)

» read more

[Symfony 2] Twig – Global Variables

,

Schon mal gefragt, welche globalen Variablen in der Twig-Extension eines Symfony 2 (Standard Distri)-Projektes zur Verfügung stehen? » read more

Symfony 2 wird super. Oder …?

,

Natürlich wird Symfony 2 super. Die Dokumentation ist wie gewohnt zum jetzigen, frühen Zeitpunkt genial, die Architektur durchdacht, die Entwickler-Community steckt sowieso alles in die Tasche, man sieht einfach: Da steckt eine Menge Arbeit, Hirnschmalz und Erfahrung hinter. Aber genug geschleimt ;)

Mein Lieblingsthema ist ja zur Zeit der Dependency Injection Container. Und irgendwie stinkt mir die ganze Container-Konfiguration noch gewaltig. Meine kläglichen Versuche, selbst mal so was ähnliches wie eine brauchbare Autowiring-Implementierung herunterzubrechen, waren natürlich auch bzw. erst recht nicht der große Wurf – was vor allem daran lag, dass ich den Service Container und damit den ganzen Sinn und Zweck des Ganzen einfach mal wegrationalisiert hatte – Loose Coupling sieht natürlich anders aus, das sei den Kritikern zugestanden. Ich verteidige mich mal dadurch, dass ich eigentlich nur mal mit Mixins rumspielen wollte – da hab’ ich wohl die eine oder andere Begrifflichkeit durcheinander geworfen.

Aber um mal zu des Pudels Kern zu kommen: Ist es wirklich so geil, mit kilometerlangen XML-Dateien, ‘ner Menge Initialisierungscode und ohne mit der heißgeliebten Code-Completion in der IDE meiner Wahl ein Paradigma zu kaufen, das im speziellen Anwendungskontext – nicht im Framework-Kontext – eher selten Anwendung findet?

» read more

ReflectionParameter::isOptional() vs. ReflectionParameter::isDefaultValueAvailable()

,

Während der Bastelei am DI-Container bin ich über die beiden Methoden ReflectionParameter::isOptional() und ReflectionParameter::isDefaultValueAvailable() gestoßen. Der kleine, undokumentierte und feine Unterschied ist folgender:

» read more

Cheat-Sheets für alle(s)

,

Diesem Mann ist sicher nie langweilig: http://www.addedbytes.com/cheat-sheets/. Hinter diesem Link verbergen sich Cheat Sheets zum Selber-Ausdrucken für alles Denkbare.

Dependency Injection mit Symfony 1.x

,

Durch meine ersten Gehversuche mit Grails sowie einen interessanten Vortrag über JSF2 bin ich kürzlich über das Kürzel “IoC” gestoßen. Das ganze ist vom Prinzip her recht einfach und in Grails, das im Grunde ein stinknormales MVC-Pattern implementiert, konkret gelöst, indem man durch eine Namenskonvention am Controller automatisch sogenannte Services instanziiert.

» read more

[Jquery]Namespaces via CSS-Selector adressieren

,

Vielleicht braucht es mal jemand, jedenfalls lassen sich “genamespacete” Tags in einer DOM (XML)document Instanz recht einfach mittels \: als Separator adressieren. Ein Beispiel: Ich möchte ein Dublin-Core Metadatum aus einem beliebigen Feed lesen:

(function($) {

  $('item').each(function() { $(arguments[1]).find('dc\:creator').[...]() } );

})(jQuery);

Dies entspricht wohl rein syntaktisch nicht ganz dem entsprechendem CSS3-Proposal (einzusehen unter http://www.w3.org/TR/css3-selectors/#typenmsp). Ich habe beide Möglichkeiten interessehalber auch einmal in einem aktuellen FF3.6 und Chromium getestet:

<style type="text/css">
/*<![CDATA[*/
  @namespace hanswurst url(http://www.meins.int)

  hanswurst|kaese
  {
    color: red;
  }
/*]]>*/
</style>
<hanswurst:kaese>
  Hanswurst liebt käse
</hanswurst:kaese>

Ergebnis: Naja, klappt nicht. Eventuell hat jemand eine Idee oder kann mich korrigieren?

X-Sendfile + Apache 2 (Ubuntu)

,

Ein recht verstecktes Feature, das neuere Server, bspw. Lighthttpd + FCGI-Modul bereits “out of the box” unterstützen, ist das anwendungsgesteuerte “Durchschleifen” von großen Dateien via X-Sendfile Header.

Wozu es gut ist und wie man es benutzt,will ich im Folgenden kurz erläutern:

» read more

Die YQL Geo Library

,

dieses erwähnenswerte Tool ist ein Javascript-Wrapper für die Geocoding Services:
Yahoo Placemaker, Yahoo GeoPlanet, jsonip.appspot.com, IP location tools, W3C Geo location und Flickr.places.findByLatLon.

Die Syntax ist mal denkbar einfach, denn das ganze beschränkt sich auf eine einzige Methode, nämlich:

yqlgeo.get(what,callback)

» read more

Audio auf Webseiten mit SoundManager 2

,

Audio auf Webseiten ist ja immer so ein Thema.
Die “nativen” HTML “Möglichkeiten” lassen wir mal lieber aussen vor.

Des Rätsels Lösung ist ja eigentlich meistens Flash – so auch bei Soundmanager 2.
Nur bleibt Flash hier komplett im Hintergrund und wird nur als “Ausgabegerät” missbraucht.

Sounds lassen sich dann mittles einer wirklich mal sehr coolen JS API einbinden, triggern und noch einiges mehr.
Dazu ist das ganze auch noch hervorragend dokumentiert. » read more