Thursday, March 31, 2005

Google in schnell

Wie Google bekannt gab, unterstützt der Suchmaschinenbetreiber ab sofort die Mozilla-Funktion "Link Prefetching", um Suchresultate in Mozilla und Firefox vorab zu laden und die Suche so zu beschleunigen. Dazu werden die besten Suchergebnisse aus Googles Ergebnisseite aus dem Internet geladen, noch bevor die betreffenden Links angeklickt wurden.
Grundsätzlich keine schlechte Idee, wobei Google sich nicht sicher sein zu scheint ob ihr Algorithmus zur Verhinderung des unnötigen Datenverkehrs funktioniert. Naja wenn jemand Modem benutzt, oder auf den traffic achten muss, kann er die Funktion im Browser ja deaktivieren.

Wednesday, March 30, 2005

Concurrent Programming Overview

J2SE 5.0 has added the java.util.concurrent package that provides standardized concurrency utilities. While the classes provided do not provide new functionality that couldn't be accomplished in the past, they are convenience classes designed to make development easier by providing high-quality implementations for data synchronization mechanisms. This package does for concurrent programming what the collection framework has done to data structures -- essentially freeing the developer from re-inventing the wheel with possibly incorrect and inefficient implementations.
rating comment: The article gives a great overview of the java.util.concurrent package and briefly explains what's possible with the different features of the new framework.

Monday, March 28, 2005

Thinlet Tutorial

Swing may be ubiquitous, but it can also be far too complex for many simpler tasks. Luckily, there's a tool called Thinlet that simplifies GUI development by defining GUIs in XML files. Part 1 of this series takes you through Thinlet's features, demonstrating why this is a very interesting and useful way to build a user interface.

Sunday, March 27, 2005

Thoughts on Software market

Choice leads to quality, but higher standards of quality reduce choice over time. That leads to the vanishing middle: software projects increasingly consolidate into a few large projects, on one hand, and a few small, niche projects, on the other. Smaller projects can turn to transparency of their development processes as a way to gain traction.

Threading example

I've read a couple of articles about the new concurrency features introduced in Java 5, and it got my attention. There are a lot of new features, like thread pools, semaphores and a lot more. The most interesting and the most widely used feature, I think, is the Executor interface.
The Executor interface helps you seperate task submission from task execution. The java.util.concurrent package provides a couple of default implementations of the Executor interface, which allows you to submit tasks and which are then run by the Executor implementation. Tasks can be good old Runnables or new Callables.
Overall, I think the new concurrency utilities are very powerful and make programmers life easier!

I made a small example using a couple of new concurrency features. For further details, check the readme file that comes along with my example. It is available through bittorrent and my download site.

Saturday, March 26, 2005

Boxing with Java 5

J2SE 5.0's autoboxing feature liberates you from the hassle of bundling your primitives into wrapper objects in various situations (like putting them in collections), but autoboxing doesn't always behave as you might expect. Krishna Srinivasan has details on how this milestone feature really works.
rating comment: It's just what you need to know about Java 5's autoboxing feature!

Friday, March 25, 2005

Yahoo sucht CC-Lizenz content

Yahoo hat jetzt eine Spezialsuche gestartet, die es erlaubt, gezielt nach Inhalten zu fahnden, die unter einer Creative-Commons-Lizenz (CC-Lizenzen) stehen. Damit ist es möglich, die Suche nach Bildern beispielsweise so einzuschränken, dass nur Bilder angezeigt werden, deren Lizenz auch eine kommerzielle Nutzung oder Modifikationen gestattet.
Interessant, leider benutze ich selten Yahoo! :-)

Thursday, March 24, 2005

Java 5 Event handling

Event-handling is critical to any GUI application, and many developers know the hazards of making a method call to unknown or poorly behaved code from the event-dispatch thread. J2SE 5.0's concurrency utilities offer more fine-grained control over how code executes. Andrew Thompson applies that to offer better ways to handle events.
rating comment: Unfortunately this article is all about a framework the author developed and how to apply it. Despite promotion for the framework, the first couple of pharagraphs contain useful information about J2SE 5.0's concurrency utilities.

Google local kommt

Noch in diesem Jahr will Google seine Aktivitäten auf dem deutschen Markt massiv ausweiten und eine Reihe von Google-Diensten in lokalisierten Versionen anbieten. Bislang stehen eine Reihe von Google-Funktionen nur für US-Bürger zur Verfügung, dazu zählt auch Google Local, die noch 2005 in einer deutschen Version starten wird.
Das kann ich nur begrüßen! Ist zwar nur interessant wenn man in einer größeren Stadt wohnt, aber dann ist es wirklich sinnvoll.

Wednesday, March 23, 2005

FilteredRowSet

The FilteredRowSet interface, added to version 1.5 of Java, lets you retrieve a custom view of database data using a filter that takes a snapshot, but doesn't alter, your table. Best of all, it does this without a persistent database connection.
rating comment: Neat article, giving an overview of the FilteredRowSet interface!

Annotation-based Persistence

The getter/setter idiom has always been problematic; it allows too-broad access to the implementation of your classes, degrading maintainability as a consequence. The J2SE 5 annotation (or metadata) feature provides an alternative. Rather than using introspection to find get/set methods, you can "tag" an object with an annotation and then access that annotation at either compilation or at runtime. This article both describes the annotation mechanism and presents the output side of an XML-based persistence mechanism that uses annotations to tag persistent classes and fields.
rating comment: A very interesting article, though the idea of a metadata-based persistence framework is not new, XDoclet pursuits the same approach. This article is more of an tutorial, giving you an overview of how to use Annotations in a useful manner.

Tuesday, March 22, 2005

Monday, March 21, 2005

Google Print

Im August 2004 kündigte Google an, künftig auch Buchauszüge in seine Suche integrieren zu wollen. Nun tauchen in der Google Suche erste entsprechende Ergebnisse auf. Auch lassen sich die digitalisierten Bücher gezielt durchsuchen.
Ich glaube es gab die letzten Wochen immer irgendwas neues von Google zu berichten. Es soll auch diese Woche nicht anders sein! Google Print ist online, und ich muss sagen, ich finde die Idee und die Umsetzung des Dienstes erste Sahne!

Sunday, March 20, 2005

Swarm Stream

Overview of SwarmStream Public Edition's feature set. SwarmStream, a free tool for improving the performance of Java's built-in HTTP networking routines.
rating comment: Very interesting article, about a very interesting tool!

Annotations & JBoss AOP Example

The last couple of month I read a lot about Aspect Oriented Programming - AOP, about various frameworks and different approaches. Basically, I've always assessed AOP as good, but rather difficult to apply. When I read an article about applying AOP, by using the new Java 5 language feature Annotations, I was all for it!

JBoss AOP framework provides the opportunity to use Annotations for applying aspect oriented programming. But not only can you mark methods or fields with an Annotations, so that the aspect is being applied to it, but you can also configure aspects and pointcuts using Java's new language feature.

To familiarize myself with these techniques, I made a small example. I implemented a logging functionality and a dependency injection using JBoss AOP and Annotations. For further details, check the readme file that comes along with my example. It is available through bittorrent and my download site.

Saturday, March 19, 2005

Jboss remoting example

A couple of weeks ago I read a very interesting article about a framework called "JBoss Remoting". The prupose of JBoss Remoting is to use the same API for making remote invocations with different network protocols. It allows to make synchronous and asynchronous remote calls, push and pull callbacks, and automatic discovery of remoting servers. That means, developing a distributed application using JBoss Remoting, you don't have to care about the underlying network protocol. You can use RMI as well as a simple socket connection, without changing one line of code.

Since I really like the idea of JBoss Remoting, I made a small example. It consists of a server and a client application. For further details, check the readme file that comes along with my example. It is available through bittorrent and my download site.

Friday, March 18, 2005

Google Code

Mit "Google Code" hat der Suchmaschinenbetreiber Google eine Entwicklerseite im Internet bereitgestellt, worauf verschiedene Open-Source-Projekte rund um Suchmaschinentechnik gesammelt und zur Verfügung gestellt werden. Unter anderem bietet die Seite Entwicklerwerkzeuge für verschiedene Programmiersprachen an.
Ich hoffe da kommen bald noch mehr Projekte hinzu. Allerdings bin ich eher skeptisch. Ich glaube nicht, dass Google all zuviel von seinen Projekten open-source zur Verfügung stellen wird.

Thursday, March 17, 2005

linsin@google


google_suggest_1.jpg


torrent@linsin.de relaunched

Ich war seit einiger Zeit auf der Suche nach einem guten und einfach wartbaren bittorrent tracker. Jetzt habe ich ihn gefunden!

BtitTracker heisst das Wunderwerk. Das Projekt befindet sich zwar noch in der Beta-Phase, allerdings funktioniert der Tracker schon recht gut. Ich habe das Script mal installiert und meine torrents wieder online gestellt. Mal sehen wie dich die Software bewährt, ich bin zuversichtlich.

Wednesday, March 16, 2005

WP 1.5 Update

Heute habe ich versucht meinen blog auf die neue WordPress Version 1.5 upzugraden. Leider ging das völlig in die Hose! Das Layout sieht aus wie in 1.2.2, meine plug-ins funktionieren nicht richtig und auch sonst geht einiges schief.
Da mein blog stark angepasst wurde und ich auch sonst vieles von Hand gemacht habe, ist ein simples upgrade nicht mehr möglich. Ich habe deshalb beschlossen, dass ich nicht auf neuere Versionen wechseln werde. Mein blog funktioniert in dieser Version ganz gut und darum bleib ich bei Version 1.2.2!

Tuesday, March 15, 2005

Java and COM

There are so many application extensions you can build with Microsoft Office applications using COM, but that's no use to Java developers … unless they have a handy Java-to-COM bridge. Using JCom you can control just about any COM object from within Java, plus it comes with some great helper classes for Excel right out of the box.
rating comment: This article gives you a brief overview of JCOM, by providing a small example which reveals the first steps of using COM with Java. Unfortunately the article gives no detailed information about JCOM itself.

Monday, March 14, 2005

linsin.de relaunched

Heute habe ich die schon lange überfällige Aktualisierung und Überarbeitung von linsin.de, meinem eigentlicher Webauftritt, angepackt. Dabei habe ich einige Bereiche entfernt, andere auf den neusten Stand gebracht.

Da linsin.de seit dem Start meines weblogs nur noch als Infoseite über mich selbst dienen soll, habe ich Bereiche wie News und Projekte entfernt. Geblieben sind nun meine Kontaktdaten mit Adresse, Telefon und Email. Zusätzlich gibts noch eine Art Lebensgeschichte in kurzform. Auch mein Gästebuch ist noch online, damit sich jeder dort verewigen kann.

Allerdings gab es nicht nur kosmetische Änderungen, denn ein paar kleinere Fehler wurde behoben, die zum Zeitpunkt der Erstellung der Website nicht aufgefallen sind.

Sunday, March 13, 2005

zurück aus dem Urlaub

Nach einer Woche Pause von meinem Praxissemester, angefangen habe ich am 01.03.05 ;-), geht es morgen wieder los! Bin gespannt was auf mich wartet!

Saturday, March 12, 2005

The Factory Pattern

There are several design patterns allow us to hide the type of an object even from those who seek to create it. These patterns are known as Factories.
rating comment: This article gives a basic overview of the Factory Pattern and it's different characteristics. What I really like about it is the introduction: Explaining the problem, before giving the solution. Without knowledge of the problem, which factories are to solve, you wouldn't know when to use a factory and when not.

Thursday, March 10, 2005

Google News Add-on

Die Nachrichtensuche Google News können Besucher künftig an ihre Bedürfnisse anpassen. Per Drag & Drop lassen sich die verschiedenen Meldungsrubriken auf der Startseite neu anordnen und benutzerdefinierte Abschnitte hinzufügen.
Ist zwar nichts aussergewöhnliches, trotzdem finde ich das feature nicht schlecht. Besonders nützlich finde ich die benutzerdefinierten Abschnitte, bei denen man selbst definierten Suchabfragen nach News speichern, und per klick abrufen kann.

Wednesday, March 9, 2005

Java 5 multithreading

The java.util.concurrent package in J2SE 5.0 provides a new thread framework for handling many of the low-level details associated with creating, executing, and managing threads. Take a closer look at its important features.
rating comment: The article gives a very brief overview of the new java.util.concurrent package of Java 5. Unfortunately it doesn't cover all aspects of the new framework for thread handling.

Monday, March 7, 2005

Google Desktop Search

Google hat den Beta-Test der Windows-Freeware "Google Desktop Search" beendet und bietet die Final-Version mit einer Reihe von Neuerungen weiterhin kostenlos an. Die überarbeitete Software durchsucht nun auch Webseiten und E-Mails, die mit Mozilla-Applikationen verwaltet werden, so dass das Werkzeug nicht mehr nur vorwiegend mit Microsoft-Applikationen genutzt werden kann. Außerdem lässt sich die Software über Plug-ins etwa um OpenOffice.org-Unterstützung erweitern.
Ich bin gespannt was das Teil kann, habe es gerade installiert und werde es mal testen. Bericht folgt!

Friday, March 4, 2005

AOP annotations

Aspect-Oriented Programming (AOP) and attributes are two leading-edge programming concepts, each with typical applications. By combining them, using attributes to indicate where AOP code should execute, you can effectively declare new Java syntax. Bill Burke introduces this new technique.
rating comment: Very interesting article about how to apply aspect-oriented programming using Java 5 annotations and the JBoss AOP framework. The article points out the advantages of using AOP, and highlights how easy it is to apply it using annotations. I'll definitely make an example of that, cause it sounds very interesting!

Wednesday, March 2, 2005

Internationalization

Writing software that is truly multilingual is not an easy task. In this excerpt from Chapter 8 of Java Examples in a Nutshell, 3rd Edition, author David Flanagan offers programming examples for the three steps to internationalization in Java: using Unicode character encoding, handling local customs, and localizing user-visible messages.
rating comment: The article covers the basics of internationalization, nothing more! The most interesting part is about Java's character encoding, but it also covers only the fundamentals.