Lestard's Blog Software-Development with JavaScript, XUL, Firefox-Addons, XML, Java…

11Jul/110

Interesting Blogs of two fellows of mine

Today I want to recommend the Blogs of two fellows of mine. First the blog of Max Wielsch in which he writes about his experiences related to computer science and software development. He is working at the same company as me and is proceeding a project I started implementing at the beginning of the year which is called the "Human Task Service". This is a Software which integrates human interactions in Service Oriented Architectures (SOA). This is necessary because BPEL, the standard to orchestrate webservices to SOA's doesn't come with build in support for human interactions. Amoung other things, in his blog Max describes one component of this Human Task Infrastructure in detail which is used to monitor the hole application.

The second blog I like to recommend is the blog of Raik Bieniek. He is also one of my fellows and in his blog he writes about Acceptance Tests with internal DSLs. "DSL" stands for "Domain Specific Language" and means that there is a language (similar to programming languages) with which a customer can write acceptance tests in his own words. He doesn't need to know technical things and terms but can use terms from his own subject area. Raik developes a framework with which you can create such DSLs for your desired subject. "Internal DSL" means that you use an existing programming language to build your DSL on top of it. The benefit is that you can use features of this existing programming language. He uses for his framework the programming language "Groovy" which runs on the Java Virtual Machine.

veröffentlicht unter: General keine Kommentare
28Jun/110

Hiding Toolbars for App-Tabs in Firefox

Some weeks ago I have written a little Addon for Firefox which lets you hide the toolbars for domains. This was mainly aimed at App-Tabs introduced in Firefox4. The Addon was working for me and some friends but sadly the people on Firefox's Addonsite obviously couldn't get it to work and so it wasn't hostet on there.

Today I have read a wikipage which stated that the Firefox developers are working on a similar functionality for a future release of Firefox. I think that's great because this feature is really usefull. In the past I haven't had enough time to fix bugs on my Addon and had an bad conscience about this. But now that they implement it on there own I feel all right to not support my Addon anymore because you will get the functionality by default. That's why I love Firefox. They put interesting features in the browser but you have the choice to use it or not.

27Jun/110

YouPay: Android/IPhone app for roommates and everyone else

If you have ever lived in a flat-sharing community you probably know this situation: Everyone has a turn to do the shopping from time to time. Today you go shopping for 12 € and the next time your roommate goes for only 8 € and tells you that you are the next in line. That's not fair, isn't it?

Some friends of mine and me have thought of a solution for this problem: YouPay - An App where you and your friends can enter your expenses and the App tells you who is the next in line. There is already an IPhone-App available, last week the Android version was released and I'm working on an web version of this App. At the moment I can't say when the webapp will be ready because I have also some other projects I'm working at and there is some additional planing to do because the web version will have some extra functionality compared to the both smartphone apps (of cource I don't tell you more about this at the moment).

Please check out the Apps if you are a IPhone or Android user and give feedback. Both Apps are free (this time only free as in free beer :-( ).

veröffentlicht unter: General, Software, YouPay keine Kommentare
2Mai/110

OSGi and SpringDM workshop for the JavaUserGroup Goerlitz

Last wednesday I have done a workshop for the Java User Group Goerlitz with the topic "OSGi Serviceplatform und Spring DM". The workshop was done in german.

OSGi is a specification for a service-based application framework for Java. While in pure Java you use packages to capsulate code with OSGi you have another abstraction layer called "bundles". These bundles can contain many packages and you can define that the bundle "exports" some of these packages. Other bundles can than "import" these exported packages to use that code.  You can encapsulate different functionalities into different bundles.

One of the main features of OSGi is the ability to load a bundle at runtime. While the hole application is running you can install, update, start, stop or uninstall a bundle. So when you change some code inside a bundle or you fix a bug, the application don't have to be redeployed to get the newly code running.

With Spring DM you can combine the features of OSGi with the Spring framework. This is a great combination to build modular business applications in Java.

Workshop OSGi und Spring DM (pdf)

 

veröffentlicht unter: General, Software, University keine Kommentare
10Apr/110

How it works: Hide Toolbars in Firefox 4

Last week I finished my HideToolbarsByURL extension. Now I want to explain a little bit how it works. Because I have used this technique in my other project I thought this could probably be usefull for other people as well.

Hide the Toolbar

In Firefox 4 there was a new Addon-Manager introduced which opens itself in a new tab. If you have set your tabbar to be on top of the navigation bar this addons-manager tab has no navigationbar or bookmarksbar. This is realized with the new function "hideChromeForLocation" of the XULBrowserWindow object. This function is called everytime a tab is shown e.g. when you open a new tab or you switch to another tab. This function gets the current Location (URL) of the tab as an argument of the type string. If this function returnes true for the location then the toolbars are hidden.

If you want to hide your URL too you have to override this function so it returns true for your location. But if you simply replace this function with your own, other extensions and firefox itself will not be able to use this feature. The recommended way to get your location hidden is to chain your implementation of this function with the original one.

First you save a reference of the original implementation. Then you can override the function with your own. You have to determine if the given location is your desired location and return true. Otherwise call the original implementation.

var old = XULBrowserWindow.hideChromeForLocation;
 
//override the hideChrome-funtion with our logic
XULBrowserWindow.hideChromeForLocation = function(aLocation){
 
	if(0 === aLocation.indexOf("http://www.lestard.eu")){
    		return true;
    	}
	//Call the original hideChrome-function
	return old.call(XULBrowserWindow,aLocation);
};

If the current location (aLocation) starts with "http://www.lestard.eu" then return true and hide the Toolbars. Otherwise call the old implementation with the aLocation as argument.

In my extension I put the URLs which should be hidden in an array. In my overridden hideChromeForLocation function I look if the current Location is in the array. Because I only want to check the first part of the URL (the domain) I use the nsIURI object from mozilla.

 

veröffentlicht unter: Firefox Extensions, General keine Kommentare
27Mrz/110

English please

Seit einiger Zeit gibt es hier in meinem Blog ja fast nur noch Beiträge bezüglich Softwareentwicklung und nur noch selten etwas zu Videobearbeitung ... die Interessen ändern sich eben mit der Zeit. Ich werde sicherlich mal wieder ein Video basteln aber fürs Erste wird es wohl auch in Zukunft vor allem um Programmierung und dort vor allem um JavaScript und Firefox gehen.

Aber während beim Thema "Game-Videos" mein Fokus immer auf der deutschen Szene lag und liegt, ist dies beim Thema JavaScript und Software etwas anders. Softwareentwicklung spielt sich Heute fast ausschließlich in Englisch ab. Mehr oder weniger alle relevanten Quellen, Blogs und Seiten sind in englischer Sprache gehalten. Und jeder Programmierer versteht Englisch (ohne Englischkenntnisse kann man quasi nicht arbeiten).

In diesem Kontext bin ich schon seit einiger Zeit am überlegen, ob es nicht auch für mich sinnvoller wäre, in Zukunft in Englisch zu schreiben. Natürlich wäre die Zielgruppe größer aber das ist nicht der Hauptgrund: IT-Blogs sind immer auch eine wertvolle Hilfestellung für andere Entwickler, die auf der Suche nach Anleitungen oder Problemlösungen sind. Ich selbst finde regelmäßig gute Hilfe in diversen Blogs - und zwar fast immer in Englisch. Um etwas zu dieser sehr inspirierenden "Blog-Gemeinde" zurückgeben zu können und möglichst vielen Lesern ebenfalls eine möglichst Hilfreiche Quelle zur Verfügung zu stellen, möchte auch ich in Zukunft vorrangig in Englisch schreiben.

Natürlich fühle ich mich an dieser Stelle dazu verpflichtet zu betonen, dass auch mein Englisch sicher nicht das beste ist. Zwischen dem Lesen und Verstehen von englischen Texten und dem Schreiben selbiger besteht natürlich ein gewisser Unterschied. Dies soll mich aber nicht davon abbringen, es zumindest zu versuchen. Rechtschreibfehler und vor allem eine holprige Grammatik seien mir deshalb bitte verziehen (leider ist beides auch bei meinen Deutschen Texten sicher nicht immer vorbildlich ;-) ).

Von daher: Let's speak English.

veröffentlicht unter: General keine Kommentare
6Dez/105

In eigener Sache: erstmal keine Videos mehr

Aus verschiedenen Gründen habe ich es bisher immer vermieden, in meinem Blog Aussagen zu politischen Dingen zu treffen. Heute muss ich mal eine Ausnahme machen:

Am 1.1.2011 wird wohl ein neuer Jugendmedienschutzstaatsvertrag in Kraft treten, den unsere Regierung zusammengeschustert hat. Dass bei der Kombination "CDU/CSU" und "Internet" meistens nichts gutes bei heraus kommt, ist ja weitläufig bekannt. Dieses Mal wurde aber wohl wieder ein besonderer Vogel abgeschossen: Eine Alterskennzeichnung für Internetseiten, die "Jugendgefährdende" Inhalte anbieten.

Wen das genau betrifft, Was man dagegen machen kann und wie schlimm das wirklich ist, darüber gibt es im Netz genügend Diskusionen, die ich hier aber jetzt nicht aufgreifen möchte. Fakt ist, dass die ersten Blogs/Webangebote bereits angekündigt haben, ihre Angebote einzustellen.

Ganz soweit möchte ich nicht gehen, allerdings sollte klar sein, dass Videos zu Counter-Strike mit hoher Wahrscheinlichkeit auch unter die Reglung fallen. Aus diesem Grund werde ich ab dem 1.1.2011 entsprechende Beiträge inklusive Download-Links offline setzen. Vieleicht wird dieses unsinnige Gesetz irgendwann für ungültig erklärt oder die Sache regelt sich anderweitig. In dem Fall werden die Sachen natürlich wieder online gehen aber bis dahin ist damit erstmal schluss.

Da ich aber schon seit einiger Zeit mit dem Gedanken spiele, meinen Blog Inhaltlich in zwei Teile aufzuteilen - einen für alle Software/Programmier-Sachen und einen für die Videos - werde ich schauen in wie weit es eine Lösung währe, einen Video-Blog im Ausland zu hosten.

Zum Schluss möchte ich sagen, dass ich die Sache schon recht schade finde, da ich meine Videos mag und ich diese auch gerne weiterhin anbieten würde, da ich auch viel Zuspruch dafür erhalten habe. Auch in Zukunft möchte ich Videos bauen, dabei habe ich aber keinerlei Interesse, mich vom deutschen Jugendschutzgesetzt einschränken zu lassen. Wir werden sehen, wie die Sache ausgeht.

veröffentlicht unter: General, Videos 5 Kommentare
   

WP SlimStat