Youtube Video an einem bestimmten Zeitpunkt starten

Ziemlich bekannt ist ja bereits, dass man mit den entsprechenden Zeitparamtern direkt an eine bestimmte Stelle in einem Youtube-Video springen kann. Das sieht ja dann so aus:

http://www.youtube.com/watch?v=F8UUFa9Lt4Q#t=01m28s

Der Paramter #01m28s lässt das Video erwartungsgemäß direkt bei 01:28 starten. Weit weniger bekannt ist, dass es so einen Paramter auch für embedded Videos gibt, dazu verwendet Ihr allerdings den start-Parameter, der in Sekunden angibt, wo das Video starten soll – hier ein kleines Beispiel:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="600" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/watch?v=F8UUFa9Lt4Q&start=36" /><embed type="application/x-shockwave-flash" width="600" height="375" src="http://www.youtube.com/watch?v=F8UUFa9Lt4Q&start=36" allowscriptaccess="always"></embed></object>

In diesem Fall würde das Video also entsprechend bei 36 Sekunden starten:

CFML-Dokumentation jetzt als AIR-Applikation

Drüben bei cfmldocs.com gibt es nun eine wirklich sehr praktische Sache: eine CFML-Language-Referenz als AIR-Applikation.
Schlicht und schnörkellos, perfekt übersichtlich gemacht und mit schöner Suche, die direkt bei der ersten Buchstabeneingabe alle Funktionen und Tags filtert. Das Teil schlägt alle mir bekannten Online-Docs um Längen, man kommt pfeilschnell zum gesuchten Ziel.

Also unbedingt hinsurfen und installieren: http://cfmldocs.com/air/index.html
Schneller war nachschlagen nie.

AIr-Applikation CFML-Docs

AIr-Applikation CFML-Docs

einmal den Google Reader in schön bitte

Wer wie ich den Google Reader schätzt und benutzt, um der täglichen Informationsflut Herr zu werden, der hat sich sicher auch schon oft gedacht: „Mann, ist das alles hässlich hier“! Gut, dass man Abhilfe schaffen kann. Mein Lieblings-Theme ist „Helvetireader“, ein minimalistisches Theme, das sich auf das Wesentliche beschränkt und leicht zu installieren ist.

Helvetireader

Helvetireader

Die Installation in Firefox, Opera, Chrome oder Safari ist fix gemacht:

1. Firefox Add-On Greasemonkey installieren
(https://addons.mozilla.org/en-US/firefox/addon/748)
2. http://helvetireader.com/ aufrufen
und dort „install as a userscript“ (http://helvetireader.com/)
3. schon fertig
der Google Reader erscheint in neuem Glanz

Wer meinen Geschmack nicht teilt, aber trotzdem einen neuen Look für seinen Reader sucht: weitere Themes lassen sich leicht durch eine Google-Suche finden.

Reblog this post [with Zemanta]

MS SQL: alle Indizes einer Datenbank per SQL abfragen

Abteilung praktische Tipps: mit folgendem SQL kann man sich fix alle Indizes einer MS SQL Datenbank auslesen:

SELECT i.object_id, i.name, o.name
FROM sys.indexes as i, sys.objects as o
WHERE i.name not like 'queue%'
and i.object_id = o.object_id
AND o.name NOT like 'sys%'

Sehr praktisch und sehr übersichtlich, wenn man schnell sehen kann, auf welcher Tabelle welcher Index liegt. Kann man echt oft brauchen, war mir sofort ein Snippet wert.

Reblog this post [with Zemanta]

Spotify.com in Deutschland benutzen

spotify.com

spotify.com

Der Musikstreaming-Dienst Spotify.com aus Schweden ist ja meiner Meinung nach echt mal ein Spitzen-Service. Das ist genau das, auf was ich immer gewartet habe, um neue Musik kennenzulernen – und zwar um Längen besser als last.fm, da man sich auch ganze Alben von Künstlern anhören kann. Bis die Gema sich mal besinnt und nochmal über die Sache nachdenkt, wird wohl noch etwas Zeit vergehen, deswegen muss man sich ein paar Tricks bedienen, um Spotify in Deutschland nutzen zu können. Hier die To-Do’s als schnelle Liste:

1. den Anweisungen auf http://www.aptgetupdate.de/2010/02/18/how-to-get-a-free-spotify-invite/ folgen, um eine Einladung zu erhalten (Dienst ist beta, deswegen bis auf weiteres nur mit Einladung)
2. URL http://www.daveproxy.co.uk/ aufrufen
3. unter http://www.postcodesearch.org.uk eine UK-Postleitzahl recherchieren
4. URL https://www.spotify.com/en/get-started/ aufrufen, dann könnt Ihr Euch registrieren

Dann kann der Spotify-Client runtergeladen werden und los kann’s gehen. Im Client solltet Ihr dann noch im Menü unter „Spotify/Preferences“ bei Proxy eine entsprechende Eintragung machen, checkt dazu am Besten noch die hervorragende Erklärung drüben bei  http://www.aptgetupdate.de/2009/08/26/spotify-eine-zusammenfassung/. Viel Spass beim Stöbern und Entdecken!

Verzeichnis auflisten mit cfdirectory und mehrfachen Datei-Filtern

Aus aktuellem persönlichen Anlass hier ein Tipp zum Tag <cfdirectory>, das hat mich durchaus etwas Zeit gekostet: wenn man den Tag verwendet, will man oft auch einen Filter auf bestimmte Dateitypen setzen. Zum ersten Mal musste ich nun nicht nur nach einer Dateiendung, sondern nach mehreren Dateiendungen filtern. Die Lösung hierbei ist das Pipe-Symbol. Das nachstehende Beispiel zeigt die Funktionalität, klappt sowohl unter Railo als auch unter Adobe Coldfusion:

<cfset myPath = ExpandPath( './' ) />
<cfdirectory action="list" name="qFiles" directory="#myPath#" filter="*.txt|*.rtf">
<cfdump var="#qFiles#">

Das Beispiel extrahiert alle .txt- und .rtf-Dateien aus dem aktuellen Verzeichnis.

Reblog this post [with Zemanta]

Apache Config überschreiben mit .htaccess (Beispiel RSS-Feed zum Download)

Gut, man kann das jetzt sicher nieschig nennen, aber trotzdem, weil ich grade mal ein konkretes Problem damit hatte, das vielleicht einige in dieser oder in ähnlicher Form kennen: Ihr legt irgendwo auf dem Dateisystem einen RSS-Feed für Eure User hin, aber anstatt den Feed direkt anzuzeigen, bietet der Browser diesen zum Download an.
Hat mich einige Zeit gekostet, rauszufinden, dass der Mimetype nicht bekannt war, die Lösung wäre also, das dem Apache beizubringen oder einfach eine .htaccess in das entsprechende Verzeichnis zu legen, die nur den folgenden Inhalt hat:

AddType application/rss+xml .rss

Damit klappt es dann problemlos, der Feed wird wie gewohnt in allen Browsern direkt angezeigt.
Interessantes zu .htaccess allgemein gibt es bei apache.org

richtig machen: XML-Objekt mit Coldfusion erzeugen

Ich habe öfters den Eindruck, dass die XML-Funktionen und -Tags, die man in CFML verwenden kann, nicht wirklich das Gelbe vom Ei sind. Wahrscheinlich kann man da drüber streiten, auf jeden Fall wollte ich Euch meine Optimal-Lösung für die Erzeugung eines richtigen XML aus einer Query nicht vorenthalten. Das Beispiel funktioniert sowohl unter Railo als auch unter Adobe Coldfusion:

<cfsilent>
<cfquery name="getCustomers" datasource="#request.datasource#">
select * from customers
</cfquery>
<!--- save xmlstring --->
<cfsavecontent variable="xmlString">
<customerlist>
<cfoutput query="getCustomers">
<customer id="#pkcustomers#">
<firstname><![CDATA[#Trim(firstname)#]]></firstname>
<lastname><![CDATA[#Trim(lastname)#]]></lastname>
</customer>
</cfoutput>
</customerlist>
</cfsavecontent>
<!--- save xml object --->
<cfxml variable="resultXml">
<cfoutput>#xmlString#</cfoutput>
</cfxml>
</cfsilent>
<cfdump var="#resultXml#">

Das Beispiel eignet sich hervorragend, um als Snippet abgelegt zu werden, viel Spass damit

Merkwürdigkeiten, Fehler und Inkonsistenzen in Javascript

Linktipp des Tages, unbedingt empfehlenswert: sehr interessante und aufschlussreiche Auflistung von Fehlern in Javascript gibt es bei http://wtfjs.com.
Hier finden sich so lustige Sachen wie dieses Rechen-Exempel:

"3" + 1 // '31'
"3" - 1 // 2
"222" - -"111" // "333"

Großartig, was passieren kann, wenn man Srings mit Zahlen verrechnet, oder?

Mein persönliches Highlight ist aber, dass true manchmal einen Wert haben kann:

(true + 1) === 2;​ ​// true
(true + true) === 2; // true
true === 2; // false
true === 1; // false

Noch mehr von solchen Kuriositäten gibt es bei http://wtfjs.com/, viel Spass bei der Lektüre

Datepicker für Formulare mit jQuery UI

Immer wieder gestaltet man als Webworker Formulare für Websites, die Felder für Datumswahl beinhalten. Ich zeige in diesem Blogpost auf, wie man diese Aufgabe schnell und elegant mit Hilfe von jQuery UI löst.

Als erstes braucht man natürlich die jQuery-Javascript-Bibliothek in der Applikation (http://jquery.com/), für den produktiven Einsatz wird selbstverständlich die minimierte Version eingesetzt. Zusätzlich benötigt man den UI-Core, der bei Google Code unter http://jquery-ui.googlecode.com/svn/trunk/ui/jquery.ui.core.js erhältlich ist und zum guten Schluss das Datepicker-Plugin unter http://jquery-ui.googlecode.com/svn/trunk/ui/jquery.ui.datepicker.js.

Auf der HTML-Seite werden die JS-Files nun im Header eingebunden. Ausserdem bindet Ihr ein CSS ein, das Ihr Euch am besten direkt von http://blog.jqueryui.com/2010/02/jquery-ui-download-builderthemeroller-status/ holt:

<html>
<head>
<title>jquery ui form test</title>
<script type="text/javascript" src="/js/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="/js/jquery.ui.core.js"></script>
<script type="text/javascript" src="/js/jquery.ui.datepicker.js"></script>
<link rel="stylesheet" href="/styles/ui_sunny.css" type="text/css" media="all" />
</head>

Im Body wird das Formular gecodet. Das Vor-Belegen der beiden Formularfelder mit dem aktuellen Datum (und dem aktuellen Datum plus 1 Tag), sowie das Handling für Formular anzeigen/Formular bearbeiten habe ich hier mit Coldfusion gelöst, kann man ja jeweils auch in der Lieblings-Sprache seiner Wahl umsetzen:

<body>
<cfset currentDateFrom = createODBCDate(now()) />
<cfset currentDateFrom = DateFormat(currentDateFrom,"dd-mm-yyyy") />
<cfset currentDateTo = createODBCDate(now()) + 1 />
<cfset currentDateTo = DateFormat(currentDateTo,"dd-mm-yyyy") />


<cfif cgi.REQUEST_METHOD eq "POST">
<cfdump var="#form#">
<cfelse>

<script type="text/javascript">
$(function() {
$("#datepickerFrom").datepicker({ dateFormat: 'dd-mm-yy' });
$("#datepickerTo").datepicker({ dateFormat: 'dd-mm-yy' });
});
</script>
<form name="DateForm" method="post" action="#cgi.script_name#">
<p>
<label for="datepickerFrom">Start-Datum:</label>
<input class="inputDate" id="datepickerFrom" name="datepickerFrom" style="width:100px" value="<cfoutput>#currentDateFrom#</cfoutput>" />
</p>
<p>
<label for="datepickerTo">Ende-Datum:</label>
<input class="inputDate" id="datepickerTo" name="datepickerTo" style="width:100px" value="<cfoutput>#currentDateTo#</cfoutput>" />
</p>
<p><input type="submit" value="Auswertung starten" /></p>
</form>
</cfif>
</body>
</html>

Hier ist der Aufruf des Datepickers an die Formular-Elemente mit den ID’s „datepickerFrom“ und „datepickerTo“ gebunden, als zusätzlicher Paramter wird das Datum in einem bestimmten Format festgelegt. Ein schöne Übersicht aller möglichen Attribute, Events und Methoden ist unter http://jqueryui.com/demos/datepicker/ zu finden. Unter dieser Adresse gibt es auch eine Demo von allen möglichen schicken UI-Themes.

Als Ergebnis erhalten wir also nun ein Formular mit 2 Datumswahl-Feldern, nach dem Abschicken wir nur ein Dump des Formular-Objekts angezeigt. Das sollte als Grundgerüst für den weiteren Ausbau genügen – viel Spass damit.