26.12.07, Martin Bommeli
Vector TDX

Heute war ich wiedermal n'bisschen gamen. Und päng.. auf dem ersten Platz der "Daily top 10".
Probier's nachzumachen :-)
>>Vector TDX Spielen
22.12.07, Martin Bommeli
Das etwas andere iPod Case

Dies ist wohl das styliste iPod Nano Case das ich je gesehen habe.
18.12.07, Martin Bommeli
Flash: Actionscript AS3 Code-Snippets
Hier ein paar kleine aber sehr nützliches Actionscript-Code-Snippets...
Das erste ist um festzustellen ob das swf-File Lokal oder auf nem Server ausgeführt wird:
AS3
if(stage.loaderInfo.url.indexOf("file:") != -1){
trace("Lokal");
}else{
trace("Server");
}
AS2
if(_url.indexOf("file") != -1){
trace("Lokal");
}else{
trace("Server");
}
Dieses Snippet ist um ein ContextMenu (recht-maustasten-menu auf einer SWF) mit Link zu erstellen:
AS3
function goToContextMenuWebsite1(event:ContextMenuEvent):void {
var weblink:URLRequest = new URLRequest("http://www.feinheit.ch/");
navigateToURL(weblink,"_blank");
}
var cmnu:ContextMenu = new ContextMenu();
cmnu.hideBuiltInItems();
var cmnui:ContextMenuItem = new ContextMenuItem("by FEINHEIT");
cmnui.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, goToContextMenuWebsite1);
cmnu.customItems.push(cmnui);
this.contextMenu = cmnu;
AS2
function goToContextMenuWebsite1(){
getURL("http://www.feinheit.ch");
};
var cmnu:ContextMenu = new ContextMenu();
cmnu.hideBuiltInItems();
cmnu.customItems.push(new ContextMenuItem("by FEINHEIT",goToContextMenuWebsite1));
this.menu = cmnu;
Wenn man per Flashvars eine Variable einlesen möchte kann man dies nicht mehr mit _root.deinevariable machen. Hier ein Beispiel wie man eine Variable einliesst und sie Definiert, falls sie "leer" reinkommt:
html/js (swfObject einbindung)
var so = new SWFObject("movie.swf", "mymovie", "400", "200", "8", "#336699");
so.addVariable("sprache", "en");
so.write("flashcontent");
AS3
var sprache:String = stage.loaderInfo.parameters["sprache"]; !sprache ? sprache = "de" : sprache = sprache; trace(sprache);
AS2
!_root.sprache ? _root.sprache = "de" : _root.sprache = _root.sprache; trace(_root.sprache);
Bei as3 gibt's kein onPress, onRelase usw. mehr. Man muss an den MovieClip nen Listener anhängen. Um dann auch noch den richtigen Curser-Status anzuzeigen muss man den buttonMode auf true setzen. useHandCursor kann man bei as3 nur noch auf Button-Objekte setzen.
AS3
function meinefunction(e:MouseEvent):void{
trace("Ich bin ein Button");
}
meinbutton_btn.addEventListener(MouseEvent.CLICK, meinefunction);
meinbutton_btn.buttonMode = true;
meinbutton_btn.mouseChildren = false;
AS2
meinbutton_btn.onPress = function(){
trace("Ich bin ein Button");
}
Einfache einfärbung eines MovieClips:
AS3//import flash.geom.ColorTransform; var color_transf:ColorTransform = mc.transform.colorTransform; color_transf.color = 0xff0000; mc.transform.colorTransform = color_transf;
AS2
new Color(mc).setRGB(0xff0000);
Contextmenu ausblenden:
AS3stage.showDefaultContextMenu = false;
AS2
Stage.showMenu = false;
In AS3 ist es nun entlich möglich Regular expressions zu nutzen. Hier ein einfaches Beispiel mit einem e-Mail check:
AS3
function checkEmail (mail:String):Boolean
{
var regExpPattern : RegExp = /^[0-9a-zA-Z][-._a-zA-Z0-9]*@([0-9a-zA-Z][-._0-9a-zA-Z]*\.)+[a-zA-Z]{2,6}$/;
if( mail.match(regExpPattern) == null ) {
return false;
} else {
return true;
}
}
trace(checkEmail("martin@@domain.ch")); //false
trace(checkEmail("martin@domain.ch")); //true
trace(checkEmail("martin@domain")); //false
trace(checkEmail("@domain.de")); //false
trace(checkEmail("martin.bommeli@domain.ch")); //true
trace(checkEmail("martin bommeli@domain.ch")); //false
trace(checkEmail("martin+bommeli@domain.ch")); //false
trace(checkEmail("martin_bommeli@subdomain.domain.ch")); //true
18.12.07, Martin Bommeli
Google addurl: affiges Captcha

Ist mir gerade passiert bei der URL Anmeldung bei Google :-)
18.12.07, Moritz Zumbühl
KMU IT-Infrastruktur - Mini IT Folge 2
Der Mac Mini ist seit gut 4 Tagen im Einsatz und bis jetzt bewährt sich der kleine Rechner! FEINHEIT hat in 16 Monaten satte 140 Giga Projekt-Daten angesammelt, da war der Umzug vom Cube mit den externen Lacie-Disks auf den Mini mit dem Hardware Raid eine echt qualvolle Angelegenheit. By the way: es waren nicht die externen Lacie-Disks die den Geist aufgegeben haben, sondern die Netzteile. Ich finde das ist schon eine miese Qualität, denn uns sind in 2 Wochen gleich 2 der 3 Netzteile futsch gegangen welche im Einsatz sind.
Nun aber zum neuen Server: Leider hat der Mini keinen Firewire 800 Anschluss, darum leidet die Geschwindigkeit der externen Festplatte etwas, aber da bei 6 Arbeitsplätzen nur 2 von Grafiker benutzt werden, reicht dass von der Geschwindigkeit ausreichend. Der Rest arbeitet mit kleinen Files und somit kann der Mini die verschiedenen Arbeitsplätze problemlos bedienen, wobei man natürlich beachten muss dass er bis jetzt nur File-Server, Adressbuch-Server und Test Web-Server ist. Der Server wird auch nicht als Login-Server eingesetzt und die Homeverzeichnisse der User bleiben auf den lokalen Macs und PCs. Das liegt daran, dass wir die Rechnen meistens auch als persönliche PC's einsetzen: Sprich mit nach Hause nehmen oder zum basteln brauchen.
Nun noch etwas zu Mac OS X-Server: Da hat Apple mit den verschiedenen UNIX-Services in ein ziemlich angenehmes Package geschnürt und mit einem Klicke-Klicke Frontend versehen welches wirklich sehr einfach zu bedienen ist. Leider sind mir die Admin-Oberflächen ("Server Admin" & "Workgroup Manager") mehrmals abgeschmiert oder haben sich mit einem Spinnball ins Nirwana verabschiedet, aber im grossen und ganzen war das wirklich eine sehr angenehme Angelegenheit. Das Einrichten von einem internen DNS, einem DHCP-Server und dem File-Server für Windows, Linux und Mac war kinderleicht. Ich hab das rumstöbern in den Config-Files sogar richtig vermisst und war ganz happy als ich einmal in den Log-Files des Systems rumstöbern musste um herauszufinden wieso mein DNS (Bind9) nicht mehr startetet. Schlussendlich war die Config zerschossen und da liegt wohl genau das grosse Problem an Leopard Server. Die Guis und Tools sind auf einem sehr hohen Level der Abstraktion, sprich wenn es mal Probleme mit den Services gibt, muss man sehr schnell sehr viel wissen oder sich sehr weit einlesen. Mir persönlich macht das Spass, aber für jeden anderen gestressten KMU-IT Manager könnte das sehr schnell zu Qual werden, vor allem dann wenn die Mitarbeiter gerne weiterarbeiten möchten...
Zum Schluss noch folgenden Link zu dem ich leider viel zu spät gefunden habe:
- Mac OS X Server Documentation!
Nächstes mal bei "Mini-IT": Adressbuch-Server für jedermann und jedes Betriebsystem
