Rss Feed
Tweeter button
Facebook button
Linkedin button
Webonews button
Delicious button
Flickr button
May 15

Unser Barcamp im Centrum für Umwelt und Technologie ist Geschichte…zumindest bis zum nächsten 2011!

Wir haben uns sehr über die Eindrücke, vor allem zum Thema OpenSource, gefreut. Es gab spannende Themen und heiße Diskussionen!

Ein paar visuelle Eindrücke gleich hier im Blog von uns. Ganz viel weiteres Material findet Ihr unter www.barcamp-osnabrueck.de: Videos, Folien, Fotos und natürlich weitere Diskussionen, die sich aus dem Barcamp ergeben haben.
Weiteres zu einzelnen Präsentationen noch in den nächsten Wochen.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Tweet this!Tweet this!
May 10

Hallo zusammen,

heute hatte ich das Problem, dass ich aus einer Excel 2007 Datei eine zu mySQL konforme CSV-Datei generieren musste. Ist kaum zu glauben, aber Excel 2007 erlaubt keinerlei großartige Einstellungen (bspw. Trennzeichen einstellen), sodass ich gezwungen war mir ein kleines Macro zu schreiben, was die Aufgabe erledigt.

Das Makro umgibt Felder mit einem optionalen Zeichen (bspw. Anführungszeichen), setzt ggf. Escape-Zeichen vor Trennzeichen innerhalb von Feldern etc.
Alles soweit ganz konform zu den Standard-Einstellungen des Tabellenimports von mySQL (zumindest bei unseren Hostern).

' Exportiert eine Selektion (bspw. STRG + A ;)  als CSV konform mit mySQL.
' Copyright (C) 2010 netvio
Sub CsvExport()
   ' Alle Variablen dimensionieren.
   Dim DestFile As String
   Dim FileNum As Integer
   Dim ColumnCount As Integer
   Dim RowCount As Integer
   Dim temp As String
   Dim delimiter As String
   Dim escapeChar As String
   Dim wrapBy As String

   ' Trennzeichen festlegen (Semikolon)
   delimiter = Chr(59)
   ' Escape-Character festlegen (Hier 0x5C bzw. 92d, sprich Backslash)
   escapeChar = Chr(92)
   ' Character festlegen mit dem die einzelnen Felder umgeben werden sollen (Anführungszeichen)
   wrapBy = Chr(34)

   ' Benutzer auffordern, den Namen der Zieldatei anzugeben.
   DestFile = InputBox("Namen der Zieldatei eingeben" _
      & Chr(10) & "(mit vollständigem Pfad:", "Excel 2007 => mySQL CSV Exporter")

   ' Nächste freie Dateihandle-Nr. besorgen.
   FileNum = FreeFile()

   ' Fehlerprüfung deaktivieren.
   On Error Resume Next

   ' Versuchen, Zieldatei für Ausgabe zu öffnen.
   Open DestFile For Output As #FileNum

   ' Ggf. Fehler zurückmelden und beenden.
   If Err <> 0 Then
      MsgBox "Datei kann nicht geöffnet werden" & DestFile
      End
   End If

   ' Fehlerprüfung aktivieren.
   On Error GoTo 0

   ' Innerhalb der Selektion soll Zeile für Zeile durchgeiert werden..
   For RowCount = 1 To Selection.Rows.Count
      ' ..und darin dann die einzelnen Spalten.
      For ColumnCount = 1 To Selection.Columns.Count
         ' Text des Felds besorgen.
         temp = Selection.Cells(RowCount, ColumnCount).Text

         ' Das Trennzeichen darf nicht als solches in dem Feld vorkommen.
         ' Falls das doch der Fall ist, das Escape-Zeichen vorhängen, sofern
         ' Felder nicht mit einem Zeichen umgeben werden (i.d.R. Anführungszeichen).
         If wrapBy = Chr(0) Then
           ' Delimiterzeichen im Feld mit Escape-Zeichen versehen
           temp = Replace(temp, delimiter, escapeChar & delimiter)
         Else
           ' Soll jedes Feld mit einem Zeichen (bspw. Anführungszeichen) umgeben werden, so
           ' wird der Feldtext mit einem Zeichen umgeben.
           ' In dem Fall muss dieses Zeichen innerhalb des Felds mit einem Escape-Character versehen werden.
           temp = Replace(temp, wrapBy, escapeChar & wrapBy)

           ' Jetzt das Feld mit dem gewünschten Zeichen umgeben.
           temp = wrapBy & temp & wrapBy
         End If

         ' Feld in die Datei schreiben.
         Print #FileNum, temp;

         ' Prüfen, ob Zelle sich in der letzten Spalte befindet.
         If ColumnCount = Selection.Columns.Count Then
            ' Wenn ja, Leerzeile schreiben.
            Print #FileNum,
         Else
            ' Sonst Delimiter ausgeben
            Print #FileNum, delimiter;
         End If
      Next ColumnCount
   Next RowCount

   ' Zieldatei schließen.
   Close #FileNum
End Sub

Habe damit heute ~5400 Datensätze erfolgreich migriert. Feedback, Fehlerbehebung etc. sind willkommen!
Viel Erfolg und ich hoffe ich erleichtere damit jemanden das Leben und nicht nur mir.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
May 05

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Tweet this!Tweet this!
May 05

Die Re:publica 2010 ist Vergangenheit und auch wir wollen nochmal einen Nachruf starten.

Höhepunkt war für uns wie auch für viele andere der Vortrag “What´s next” von Peter Kruse gleich am ersten Tag, der einem eine ganz neue Sicht auf die Situation im Netz gegeben hat. Unten findet Ihr den kompletten Vortrag:

Weitere Eindrücke von uns im nächsten Beitrag

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Tweet this!Tweet this!
May 05

Barcamp Osnabrück

Nun sind es nur noch zwei Tage bis zum Barcamp OpenSource/Enterprise 2.0 bei uns im Centrum für Umwelt und Technologi, Osnabrück. Die Vorfreude ist groß, Themen und Teilnehmer versprechen eine tolle Veranstaltung mit spannenden Diskussionen und inhaltlichen Höhepunkten.

Letzte Woche haben wir das Barcamp auch im Osradio vorgestellt, kurz und knackig kann sich hier jeder auch auf dem Wege noch einen Eindruck machen:

http://osradio-podcast.de/2010/05/04/barcamp-opensourceenterprise-2-0/

Noch sind Plätze frei, wer sich anmelden möchte kann dies nachwievor unter www.barcamp-osnabrueck.de für alle Veranstaltungen machen.

Wir freuen uns!

So siehts übrigens derzeit hier aus:

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Tweet this!Tweet this!
Apr 22

Schon lange sind die Tage vorbei, bei denen man mit bloßem CSS und ein bißchen Markup einen bombigen Drupal-Theme gebaut hat. Der Themer von heute stützt sich auch gerne mal auf JavaScript für Effekte, die den Kunden dann hoffentlich vom Hocker pusten.
Eine JavaScript-Datei in einem Drupal-Theme einzubinden ist angeblich nicht schwer – sagt zumindest die Seite in der Dokumentation. Ist ja spitze, denkt man sich und das war auch mein Gedanke.

Jetzt hatte ich den Fall, das ich eine gewisse JavaScript-Datei nur dann mit in die Seitenausgabe aufnehmen wollte, wenn bestimmte Page-Variablen gesetzt sind. Also fix die Funktion template_preprocess_page in der entsprechenden template.php meines Themes überladen und brav meinen Aufruf von drupal_add_js eingebaut. Alles auch ganz erwartungsvoll dem oben genannten Artikel folgend umgesetzt. Somit sah das ganze ungefähr so aus:

/**
 * @brief
 * Implementation von template_preprocess_page.
 *
 * @see http://api.drupal.org/api/function/template_preprocess_page/6
 */
function meintheme_preprocess_page(&$variables) {
  // JavaScript nur einhängen, wenn die Variable TRUE ist.
  if ($variables['irgendwas']) {
    drupal_add_js(drupal_get_path('theme', 'meintheme') . '/js/mein.js', 'theme');
  }
}

Alles klar, speichern, hochladen, Drupal Caches leeren, Seite neuladen. Nichts passiert.

Gut, OK kann passieren. Code überprüft, alles schlüssig. Dann Firebug geöffnet und nachgesehen, ob auch ein entsprechender Eintrag im -Bereich der Seitenausgabe steht. Natürlich nicht. Es schien von Anfang an schon zu einfach zu sein -.-
Um das ganze jetzt kurz zu machen, hier die Erklärung warum die Referenz auf die JavaScript-Datei nicht da war, obwohl offensichtlich alles richtig zu sein schien.

Das Problem liegt darin, dass die Page-Variablen in Drupal u.a. auch die Referenzen auf alle registrierten JavaScript-Dateien umfassen. Lässt man sich in der obigen Funktion nämlich einfach mal $variables['scripts'] ausgeben (bspw. mit Hilfe des Devel-Moduls, so sieht man alle entsprechenden Einträge. Der Aufruf von drupal_add_js() findet also zu spät statt, da die Page-Variable $scripts (wie sie in page.tpl.php heißt) bereits gefüllt wurde.
Sieht man sich hierzu die Core-Implementation in Drupal 6 von template_preprocess_page einmal genauer an, stößt man auf diese Zeile:

$variables['scripts'] = drupal_get_js();
 

Genau darin liegt der Trick. Dupliziert man diese Zeile einfach nach dem Aufruf von drupal_add_js in der template.php, so wird auch unsere JavaScript-Datei ausgeben.
Das Endergebnis sieht dann ungefähr so aus:

/**
 * @brief
 * Implementation von template_preprocess_page.
 *
 * @see http://api.drupal.org/api/function/template_preprocess_page/6
 */
function meintheme_preprocess_page(&$variables) {
  ....
  // JavaScript nur einhängen, wenn die Variable TRUE ist.
  if ($variables['irgendwas']) {
    drupal_add_js(drupal_get_path('theme', 'meintheme') . '/js/mein.js', 'theme');
    $variables['scripts'] = drupal_get_js();
  }
  ....
}

Happy Theming, kids!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Feb 11

Vor einigen Wochen fand das erste Barcamp in Osnabrück zum Thema Open Source als Modell für Kultur und Musik statt.

Es gab viele sehr interessante Vorträge, Themenschwerpunkt war vor allem der Nutzen von Web 2.0 für Kultur.

Hier gibts noch einige Nachberichte:

Seite des Barcamps: http://barcampkultur.mixxt.de

Vorbericht bei Osradio:
http://osradio-podcast.de/2010/01/14/barcamp-kultur-2010/

Umfangereicher Bericht von Carsten Herkenhoff:

http://logbu.de/kulturbarcamp-osnabrueck-2010/

Kurzer Nachbericht bei FFN:

http://statt.de/wordpress/wp-content/uploads/2010/02/ffnbarcampNachbericht.aif.mp3

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Tweet this!Tweet this!
Feb 10

Hallo zusammen!

Da ich mich privat sehr viel mit dem Thema “Home-Recording“ beschäftige, wollte ich in diesem Blog ein preisgünstiges, sowie leistungsfähiges Audio Interface vorstellen.

Das Focusrite Saffire bietet in der DSP Variante zwar weniger Eingänge als die frühere Saffire LE, ist dafür jedoch wesentlich günstiger. Für rund 250 Euro bekommt man hier ein leistungsstarkes Audio Interface, mit guter Klangqualität und einer Vielzahl nützlicher Features.

Die wichtigsten Parameter (Gain, Phantomspeisung, PAD, etc.) lassen sich am Interface selbst einstellen, ein Mute- und Dimschalter sind ebenfalls vorhanden. Mittels der mitgelieferten Software lassen sich die Signalwege routen und individuell einstellen sowie die integrierten DSP Effekte als VST-Plugins in die DAW einbinden.

Die Wandler bieten eine 24-Bit Auflösung und Samplerate bis zu 192 kHz., was für Semi-professionelles Recording vollkommen ausreichend ist.

Wem zwei analoge und zwei digitale Inputs ausreichen kann ich das Saffire durchaus als preisgünstiges Interface für den Live und Heimstudioeinsatz empfehlen.

Mit freundlichen Grüßen,

C. Dohle

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Feb 10

Hallo und guten Tag,

hier ein, in meinen Augen, sehr nützliches Tool für Web-Entwickler: Colorzilla.

Den Umgang mit Farben, grade auch beim portieren von einer bestehenden Seite auf eine neue Internetpräsenz, erleichter das Firefox-Addon enorm.

Nach der Installation erscheint in der linken unteren Ecke des Browser eine kleine Pipette die zum analysieren von Farben gedacht ist.

Nachdem man diese aktiviert hat wird in der Infoleiste jede Farbe über der der Mauszeiger verweilt in RGB und HEX Werten angezeigt. Wenn man eine Position angeklickt hat wird der Farbwert festgestellt und man kann ihn durch Rechtsklick auf das Pipettensymbol unter anderem als HEX Wert in die Zwischenablage kopieren.

Neben der praktischen Zoom-Funktion gibt es aber noch viel mehr Features die man erforschen kann (sollte).

Viel Spaß damit !

Gruß

S.Adam

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Jan 25

Zig Content Management Systeme, aber die folgende Online-Präsentation zeigt auf, warum ein Umstieg auf Drupal sinnvoll ist:

http://www.slideshare.net/chrisshattuck/drupal-kick-butt

Von den genannten Gründen profitieren nicht nur wir als Entwickler und Dienstleister für Drupal, sondern auch unsere Kunden, da wir flexibler und schneller arbeiten – ohne Qualität einzubüßen.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter