Es ist mal wieder so weit... ich habe ein neues Projekt für euch.
Im Moment arbeite ich an einer Bibliothek für MuPAD.
MuPAD ist ein Algebraprogramm, dass mit dem bekannten Matlab ausgeliefert wird. Es dient dafür Rechnungen durchzuführen, für die man nicht die volle Komplexität von Matlab benötigt.
Die Bibliothek erweitert MuPAD um Funktionen die für das Studium nützlich sind.
Um es zu installieren geht man auf die
Projektseite und läd sich den Inhalt des SVNs runter. Nun nurnoch die Schritte im beiliegenden README durchführen.
Die Bibliothek integriert sich vollständig in MuPAD und liefert eine umfangreiche integrierte Hilfe mit.
Weitere Informationen zu dem Projekt findet ihr auf der Projektpage:
http://sourceforge.net/projects/mupadbib/
Wer schon immer ein gutes Risiko ähnliches Spiel spielen möchte, sollte sich mal
Dice Wars angucken. Ein wirklich gelungenen Spiel. Aber viel zu einfach und was mir nicht gefallen hat war, dass es keinen Multiplayer hat.
Also haben ein Kommilitone von mir und ich einen Dice Wars Clone geschrieben.
Dice Wars MPWir haben uns extra um was neues auszuprobieren für eine HTML5 Canvas implementierung entschieden.
Viel Spaß beim Spielen!
So hier kommt mein neustes Script. Der HS-Heilbronn Essensplan.
Wer an der HS-Heilbronn studiert weiß,
dass der Essensplan zwar im Internet auf
http://www.studentenwerk.uni-heidelberg.de befindet. Jedoch kann man den Essensplan nicht als RSS, Atom oder ähnlichen abonnieren.
Dies erledigt nun mein Script. Das generierte Feed kann unter:
http://www.thomas-wollmann.de/sonstiges/essenRSS/Abonniert werden.
Bei Fragen u.o. Bugs freue ich mich über eine E-Mail :)
Viel Spaß damit!
Thomas
Um einen kleinen Denkanstoß für Entwickler zu liefern möchte ich ein paar Codeschnipsel vorstellen, die die persönliche Nachricht in MSN nach Wünschen anpassen.
Starten möchte ich mit einem JScript für MSN Plus:
function OnEvent_Initialize(MessengerStart)
{
MsgPlus.AddTimer("timer1", 100);
}
function OnEvent_Uninitialize(MessengerExit)
{
//Messenger.MyPersonalMessage = "";
}
function OnEvent_Timer(timerid)
{
var Started = MsgPlus.DownloadFile("http://URL zu meinem kram");
if(Started)
Debug.Trace("Downloading file, waiting for event");
else
Debug.Trace("Couldn't start the download");
MsgPlus.AddTimer("timer1", 300000);
}
function OnEvent_DownloadFileComplete(Url, OutFile, Success)
{
Debug.Trace("DownloadFileComplete event received for " + Url);
Debug.Trace(" Success: " + Success);
if(Success)
{
Debug.Trace(" Result file path: " + OutFile);
/* Read the file, do what needs to be done */
var fso = new ActiveXObject("Scripting.FileSystemObject");
blpp = fso.OpenTextFile(OutFile,1);
var atext = blpp.readline();
if(atext != "")
{
Messenger.MyPersonalMessage = atext;
}
blpp.Close();
//Delete the temporary file
var File = new ActiveXObject("Scripting.FileSystemObject");
File.DeleteFile(OutFile);
}
}
Zunächst wird ein Timer aktiviert, der quasi sofort das OnEvent_Timer Event auslößt. Nun wird eine Datei von einem Server geladen und der Timer nun auf 5 Minuten gesetzt.
Wenn die Datei runtergeladen ist, wird das OnEvent_DownloadFileComplete Event ausgelöst. Jetzt kann der Inhalt der Datei verarbeitet werden.
In diesem Beispiel wird einfach nur der Inhalt der Datei als persönliche Nachricht gesetzt.
Durch den Timer wird die Nachricht alle 5 Minuten aktualisiert.
Ich verwende zum Sammeln der Daten ein PHP Script auf meinem Server.
Bis jetzt sind mir die Schuldenuhr von Deutschland, ein Landtagswahlticker, eine Wettervorhersage, ein Börsenticker und ein Zitatescript gelungen.
Um z.B. die Temperaturen von heute, morgen und übermorgen in Düsseldorf auszugeben, können die Daten von wetter.de per Socket abgegriffen und verarbeitet werden.
$packet = "GET /wettervorhersage/Wetter-Duesseldorf/Deutschland/e64f033bf5ce13eab84b602dde3b7bd3/layout/drucken HTTP/1.1\r\nHost: www.wetter.de\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\nAccept-Encoding: deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7r\nConnection: Close\r\n\r\n";
$list = get_packet("www.wetter.de", $packet);
$list = substr($list, strpos($list, "table"), strpos($list, "/table"));
$list = explode("", $list);
$clist = count($list);
$i=1;
while($i<$clist) { if(substr_count($list[$i-1],"Mittags") > 1)
{
$text = $list[$i+1];
}
$i++;
}
$text = explode(">", $text);
$heute = strtok($text[2],"<"); $morgen = strtok($text[6],"<"); $umorgen = strtok($text[10],"<"); echo "Düsseldorf - Temp. Heute: ".html_entity_decode($heute)." ; Temp. Morgen: ".html_entity_decode($morgen)." ; Temp. Übermorgen: ".html_entity_decode($umorgen);
Bei Fragen oder weiteren Ideen schreibt mir, was in euren Köpfen vor sich geht.
Habe grade ein kleines
Greasemonkey Script gebaut.
Wenn man bei Rapidshare keinen premium Account hat, wird zwischen den Downloads die Wartezeit angezeigt aber nicht aktualisiert. Zum aktualisieren, muss man die Seite neu laden.
Dieses Script zählt die Zeit von selbst runter.
Install Script
Wenn man versucht für ein Webprojekt ein paar Sprechblasen bzw. Tooltips in einer Tabelle in allen Browsern richtig anzuzeigen, hat man durch diverse Abweichungen des Browsers vom Standard so seine Schwierigkeiten. Gerade, wenn man Ajax Fähigkeiten oder einfach nur dynamisch vergrößernde Tooltips einbauen möchte.
Hier möchte ich einen etwas ungewöhnlichen Ansatz für die Lösung des Problems vorstellen.
Sie wurde bisher im Internet Explorer 6,7,8; Firefox 3.6.3; Safari 4 und Opera 10.52 erfolgreich getestet.
Zur Technik:In diesem Beispiel werden die Blasen mit dem CSS Attribut "display: none" generiert.
Wenn man nun auf eine Stelle in der Tabelle klickt bzw. mit der Maus drüberfahrt, kann mit den Eigenschaften onclick, onmouseover und onmouseout eine Javascriptfunktion aufgerufen werden.
Diese verschiebt die benötigte Blase zur aktuellen Mauszeigerposition + Offset und macht Sie sichtbar.
Durch erneutes Klicken oder onmouseout kann je nach Wunsch die Blase wieder verschwinden werden lassen.
DemoDownload Demo
Anscheinend ist in der Version 0.3.1 der Python RSAPI ein Bug, sodass diese nicht in allen OOo Versionen installiert werden kann.
Da ich aber gerade quasi mitten im Abitur stecke, hab ich im Moment nicht die Zeit mich um den Bug zu kümmern.
Ich bitte darum vorübergehend bei einer älteren Version zu bleiben, die
kis-Version oder die original
RSAPI.DLL zu verwenden.
Gestern habe ich ein kleines Script für
Greasemonkey gebaut, dass auf Youtube beim anschauen eines Videos einen Button neben den Namen eines Videos hinzufügt. Er ermöglicht es das angesehene Video direkt zur Quicklist hinzuzufügen.
Install ScriptIn Verbindung mit dem
Greasemonkey Script
Youtube Quicklist QuickAdd hat man sogar die Quicklist Buttons in der Kanalansicht.
Viel Spaß damit!
Mein Vater hat mich gebeten seine Doktorarbeit zu veröffentlichen.
Nun kann jeder sie unter
http://www.gerhard-wollmann.de lesen.
Abstrakt: Modellbildung und experimentelle Überprüfung der Floatation in der Batchzelle
Für die Flotation wird ein Modell vorgestellt, das auf hydrodynamischer Grundlage das
Ausbringverhalten des Einzelskorns und des gesamten Aufgabekollektives beschreibt. Es
ermittelt aus der Stoß-, Haft- und Schaumwahrscheinlichkeit die Flotationskenngröße ki
der einzelnen Kornklassen und das zeitliche Massenausbringen m sowohl für
Wertmaterial als auch für die Gangart.
Das Modell wurde in 4, 10 l Batchflotationszellen überprüft.
Radiotracerversuche zeigen gute Übereinstimmung des experimentellen und des
theoretischen Flotationsverhaltens.
Experimente mit nicht entschlämmten Industrieaufgabegut, das aus Flußspat als
Wertmaterial und Baryt und Quarz als Gangart besteht, bestätigen bei unterschiedlichen
Drehzahlen, Luftdurchsätzen, Zellengeometrien, Trübedichten und Oberflächenspannung
das Modell im ganzen.
Ich habe die Online Versionen des Sudokuscripts für das Design angepasst.
Außerdem wurden noch technische Kleinigkeiten unter der Haube geändert.
Wenn ihr mal Langeweile habt: Spielt eine Runde
Sudoku
... mehr