Dienstag, 16. Juni 2009
A new Star is born!
Donnerstag, 7. Mai 2009
Donnerstag, 9. April 2009
Google hat Java für die AppEngine veröffentlich und nicht Ruby (Oder doch?)
Als ich die Nachricht zuerst gelesen hatte war ich etwas enttäuscht, da ich damit gerechnet hatte, dass Google zuerst Ruby (vor allem da es sich für Web 2.0 Anwendungen besonders eignet) veröffentlicht.
Nach dem ich den Artikel von Ola Bini gelesen hatte, war die Enttäuschung wie weggeblasen, da auf eine JVM ja auch JRuby läuft ;-).
Zwar ist es momentan noch nicht ganz so einfach eine Installation zu erstellen, aber der Artikel von JRuby on Rails on Google App Engine beschreibt das Vorgehen (eigentlich) sehr genau.
Also anmelden und starten ;-).
Ein paar nützliche Werkzeuge hat Ola Bini, der übrigens für die Verfügbarkeit von JRuby on Rails auf der App Engine mitverantwortlich war, auch noch zur Verfügung gestellt:
- Bumble - Wrapper um den Google Datastore, so dass ein einfacher Rails bekannter Zugriff auf die Daten erfolgen kann.
- BeeU - Ein Plugin für den Zugriff auf den aktuellen Benutzer mit einem einfachen Rollenkonzept
Zu letzt darf der Hinweis auf die Beispielanwendung YARBL und den zugehörigen Quellcode nicht fehlen.
Viel Spass beim Testen 8-).
Donnerstag, 2. April 2009
Mal wieder nach langer Zeit etwas von Google ...
- Keine USV
- Netzteile auf fast maximaler Leistung
- Lüfter auf minimalster Leistung
Mittwoch, 25. März 2009
Wenn man mal ne API-Dokumentation benötigt ...
Ich habe von einigen Tagen auf dem Blog von Priit Haamer gelesen, dass er für Rails eine Dictionary für Apples Lexikon gemacht hat.
Nachdem ich es ausprobiert habe, hatte ich auch gleich das Dictionary für Ruby installiert. Danach habe ich gelesen, dass Mika Tuupola auch ein Dictionary für jQuery erstellt hat.
Schön das eine so vernachlässigte Anwendung endlich eine Verwendung findet.Samstag, 21. März 2009
Ein weiterer Weg für .Net als Plattform ...
nach einiger Zeit ist wieder eine neue Version von Ironruby veröffentlicht worden. Dies ist im Zusammenhang mit der Entwickler-Messe MIX09 von Microsoft erfolgt, auf der die Beta von Silverlight 3 und ASP.Net MVC 1.0 veröffentlicht worden sind.
Wesentliche Neuerungen von Ironruby 0.3 sind:
- Zugriff auf Generic-Methoden
- Besseres Zusammenspiel mit .Net (im Speziellen .Net Interop)
- Verwendung von ASP.Net MVC
- Bessere Ruby-Sprachkompatibilität
- und und und
Viel Spass beim Ausprobieren.
Samstag, 24. Januar 2009
Ein Skript für "Wenn man mal schnell ein paar Dateien umbenennen muss" z.B. alle klein ...
... dann kann man vielleicht das folgende Skript als Vorlage verwenden:
@dir = "D:/Dev/samples/ruby/tests" if ARGV.length puts "using '#{ARGV[0]}'" @dir = ARGV[0] end if File::directory?(@dir) Dir.chdir(@dir) do |cur_dir| Dir.glob("*.*").each do |cur_file| unless File::directory?(cur_file) puts "#{cur_file} -> #{cur_file.downcase}" File.rename(cur_file, cur_file.downcase) end end end else puts "'#{@dir}' is'nt a valid diretory." end
Samstag, 10. Januar 2009
Wie das Web 2.0 Auswirkungen auf die "alten" Unternehmen hat ...
... zeigt der Artikel in der FAZ "Business-Webs ersetzen Unternehmen" (Obwohl ich den Titel des Artikel sehr weitreichend finden).
Was ich sehr Interessant finde, ist der Ansatz "alle" Menschen in den Arbeitsprozessen des Unternehmen einzubringen (Wikipedia im Unternehmen halt).
Weiter ist aber auch die Aussage nicht unerheblich, dass, wenn in den Minen der Goldgesellschaft nichts gefunden worden wäre, es auch auch das Aus des Unternehmens hätte sein können.
Wenn ich mal einen Software-Entwurf erstellen muss ...
... habe ich meist Visio verwendet, leider was es nicht sehr intuitiv und sahen die Entwürfe auch immer etwas altbacken aus.
Nachdem ich im Internet die Software "Mockups" von der Firma "balsamiq" und mir den entsprechenden Screencast bzw. die Beispiele angesehen habe, schöpfe ich wieder Hoffnung, dass auch meine Software-Entwürfe demnächst wieder etwas schöner aussehen.
Donnerstag, 1. Januar 2009
Frohes neues Jahr
Alle Lesern meines Blog wünsche ich ein erfolgreiches und gesundes Jahr 2009.
Viel Erfolg und viel Spaß beim Lesen meines Blogs ;-)
Dienstag, 30. Dezember 2008
Wer mal ein Plugin-Framwork schreiben will bzw. muss, der sollte ...
... sich auf jeden Fall das MEF Framework von Microsoft ansehen. Damit ist entgehen des recht komplexen Framework System.AddIn ein einfacher Ansatz entstanden, der die Möglichkeit bietet seine Anwendung zu erweitern.
Aufmerksam auf das Framework bin ich durch folgende drei Artikel geworden, die eindrucksvoll darstellen, wie man mit MEF auch Ruby-Skript (es funktioniert auch Python) zum Einbinden in seine Anwendung verwenden kann.
Samstag, 6. Dezember 2008
Eine neue Form des Testens ...
Die (neue) moderne Art zu Leben und zu Arbeiten
Montag, 1. Dezember 2008
Wenn man wissen will was IronRuby in einen C# Programm anstellen kann.
Ich habe auf der PDC ein Video über den Stand von der Ruby Integration in .Net gesehen.
Es wird vorgestellt wie man mit einfachen Mitteln eine bestehende .Net-Klasse erweitert. Des weiteren wird die Erweiterung von Visual Studio gezeigt. Sollte man sich mal ansehen:
Donnerstag, 30. Oktober 2008
IronPython und IronRuby unter .Net 4 mit C#
Wer mich ein wenig kennt, weiss das ich auf dynamische Sprachen wie Python und Ruby stehe.
Nachdem ich den PDC Talk "Dynamic Languages in Microsoft .Net" von Jim Hugunin gesehen habe, konnte ich mich entspannt zurücklegen, da die Zukunft endlich das Ende des Dynamic gehen Static bringen wird ;-)
Samstag, 4. Oktober 2008
Wer möchte sein (Linux)-System in 5 Sekunden booten lassen ...
... dem kann ich nur empfehlen diesen Artikel zu lesen ;-)
Viel Spass
Freitag, 3. Oktober 2008
Wie man Silverlight mit Rails verbindet
Jimmy Schementi hat schon vor einiger Zeit ein Plugin für Rails veröffentlich (Silverline), mit dem man wie gewohnt Anwendungen unter Rails entwickelt, dabei aber auf Silberlight 2 (momentan noch Beta 2) auf dem Client zurückgreift.
Zu Anfang hatte ich einige Schwierigkeiten, da ich die neuste Version von Silverlight 2 RC0 installiert hatte und die DLLs aus dem Dynamic-Silverlight SDK 0.4 verwendete. Nachdem ich wie auf der Webseite beschrieben, auf Silverlight 2 Beta 2 gewechselt bin und die "orginal" DLLs aus der Demo-Anwendung von Jimmy genommen hatte, könnte ich mir ein Bild von den Möglichkeiten machen.
Nachdem wir den Webclient für unsere GTD-Anwendung fast fertig haben (es sind nur noch ein paar APIs auf dem Server anzupassen), haben Björn und ich beschlossen einen Silverlight 2 Client zu entwickeln. Noch steht nicht fest, ob er traditionell unter Visual-Studio mit C# oder per Dynamic-Silverlight (und dem Silverline-Plugin) entstehen wird. Ich denke es wird noch etwas experimentiert werden.
Entsprechende Updates zu diesem Thema werde ich auf dieser Seite bekannt geben ;-).
Mittwoch, 1. Oktober 2008
Eigentlich sollte man darüber nicht schreiben ...
... wenn es dann nicht die falschen treffen würde.
Apple hat angekündigt die NDA bei der iPhone-Entwicklung aufheben zu wollen.
Na endlich
Montag, 29. September 2008
Wie verwende ich Ironruby in einem C# Programm
Ich habe die Aufgabe gehabt einen Teil eines .Net Programm mit dynamischen Code auszustatten.
Aus meiner Sicht gab es nur die Möglichkeit, die für Silverlight entwickelten Sprachen zu verwenden (Python, Ruby bzw. Managed Javascript). Nach einigen Überlegungen und den Erfahrungen, die ich mit Rails gemacht habe, entschied ich mich für die Integration von Ironruby.
Nachdem ich zuerst ein paar Schwierigkeiten hatte einen String als Referenz an die Skript-Engine zu übergeben. Es schein ein Problem zu geben, wenn man mit ValueTypes arbeitet. Nachdem ich den String in eine Klasse eingepackt hatte, konnte ich die Daten ohne Problem mit der Script-Engine austauschen.
Ich habe den reduzierten Quellcode mal beigefügt:
using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using IronRuby;
using IronRuby.Hosting;
using Microsoft.Scripting.Hosting;
using System.Threading;
using System.Runtime.Remoting;
using System.Data.Odbc;
using System.Collections;
using System.Collections.Generic;
namespace SampleEmbeddedRuby
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private IDataReader GetData()
{
IDataReader result = null;
OdbcConnection connection = new OdbcConnection("DSN=test_sqlite");
try
{
connection.Open();
IDbCommand command = new OdbcCommand("select * from projects"
, connection);
IDataReader reader = command.ExecuteReader();
while (reader.Read())
{
for (int fieldIndex = 0; fieldIndex < reader.FieldCount;
fieldIndex++)
{
if (0 != fieldIndex)
{
mResult.AppendText(", ");
}
mResult.AppendText(reader.GetName(fieldIndex)
+ "=" + reader[fieldIndex].ToString());
}
mResult.AppendText(Environment.NewLine);
}
reader.Close();
result = command.ExecuteReader();
mResult.AppendText("-------------------------" + Environment.NewLine);
}
finally
{
//connection.Close();
}
return result;
}
private void button1_Click(object sender, EventArgs e)
{
ScriptRuntime scriptRuntime =
Ruby.CreateRuntime(Ruby.CreateRuntimeSetup());
ScriptScope scope = scriptRuntime.CreateScope("ruby");
IDataReader input = this.GetData();
scope.SetVariable("input", input);
IDictionary output = new Dictionary();
scope.SetVariable("output", output);
while (input.Read())
{
scope.Execute(mCode.Text);
foreach (string key in output.Keys)
{
mResult.AppendText(output[key] + " - ");
}
mResult.AppendText(Environment.NewLine);
output.Clear();
}
}
}
}
Der Quellcode, der im Beispiel verwendet wird, ist ziemlich trival. Für die Leute die der Sprache nicht mächtig sind, hier die paar Zeilen:
(0...input.FieldCount).each do |index|
output.Add input.GetName(index), input.GetValue(index).ToString()
end
Im Beispiel werden die Daten aus dem input (IDataReader) in die Ausgabe output (IDictionary) kopiert. Der Range 0...input.FieldCount besagt, dass der Index bei 0 beginnt und bei input.FieldCount-1 endet.
Was ich interessant finde, ist, dass für die Einbindung einer Erweiterungssprache mehr nicht notwendig ist.
Viel Spass ;-)
Mittwoch, 13. August 2008
Wenn man mal ne Diagramm zeichnen muss ...
... und nicht auf Visio zurückgreifen will bzw. kann, wenn man wie ich die meiste Zeit unter Mac OS X arbeitet.
Ist man in dieser Situation kann ich ein Freeware Werkzeug yEd empfehlen, mit dem man einfach und komplexe Diagramme erstellen kann.

