Softwaretechnik

myndian.de

Montag, 2. Juli 2007

Dynamic two dimensional array in Java

I need a dynamic two dimensional array in Java. I thought I might not be the only one, so I searched with regular search engines and the code searches. Surprisingly I did not find any free implementation. I thought this would be a such common case, that the JRE or at least the Jakarta Commons Collections might contain it. No, they do not.

It seems the rest of the world builds their own implementation or uses the javax.swing.table.TableModel and javax.swing.table.DefaultTableModel. The public API of the latter gets near to what I want, but it’s not exactly what I was looking for.

I thought about something like this:

interface TwoDimensionalArray<T>
{
T set(int x, int y, T value);
boolean add(int x, int y, T value);
T get(int x, int y);
Iterator<Iterable<T>> iterator();
boolean isEmpty();
/** returning the overall element count */
int size();
}
Geschrieben von Jörg in Softwaretechnik um 08:02 | Kommentare (0) | Trackbacks (0)
Tags für diesen Artikel: java, open source

Sonntag, 22. April 2007

declarative music playlists

Last night, while playing a fantasy roleplay game, we listened to an appropriate selfmade radio channel at pandora. I just created a new channel with “Enya”, “Loreena McKennitt”, “Blackmore’s Night” and other artists we would probably have thrown into the CD player instead. We had to rate some songs over the night, but most the time the music was just what we wanted it to be. Surely with many artist we did not even know before. Cool!

Hearing two other channels with the very nice quick mix function along breakfast this morning, I thought about the technology behind it. What was not obvious to me, when using pandora, was that I describe what I want to hear. So it’s a form of declarative music playlist, analogous to fourth generation programming languages. In a simpler manner the “intelligent playlists” in iTunes are the same. As software developer, used to declarative languages like SQL, I use them most the time - but missing complexe conditions and ad-hoc querys. :-)

Concerning pandora I miss one thing the most: I sometimes like to describe what I disliked within a specific song, because I don’t want pandora to guess. But that’s the offtrade, when handing over responsibility in those declarative ways.
Geschrieben von Jörg in Internet, Musik, Softwaretechnik um 12:53 | Kommentare (0) | Trackbacks (0)
Tags für diesen Artikel: declarative, internet radio, itunes

Montag, 9. April 2007

Machine Tags tuned

Schon vor einiger Zeit hatte ich bei Frank Westphal über Machine Tags gelesen. Geniales Konzept? Jain. Genial schon, aber eigentlich alles alte Bekannte. Worum geht es?

In Kürze: Normale Tags sind vollkommen ungeordnete Schlagwörter die entweder “vorhanden” oder “zugeordnet” sind oder nicht. Machine Tags haben auch einen Wert und sogar noch einen Namensraum:

<namespace>:<key>=<value>

Also zum Beispiel:

lang:name=java
lang:ver=1.5

Erinnert natürlich stark an XML oder? Oder auch an Properties-Dateien mit Prefixen, wie sie mein Chef gerne verwendet. (Prefixe beispielsweise für Staging, siehe auch Java Magazine 3/07.)

Sie heißen Machine Tags, weil man davon ausgegangen ist, dass sie hauptsächlich von Maschinen benutzt werden würden. Wie Westphals Artikel aber zeigt, ist dies absolut nicht der Fall und sie eröffnen eine ganz neue Dimension des Taggings.

Wie bin ich darauf gekommen diesen Artikel heute wieder auszugraben? Ich habe via iTunes Musik gehört, bewertet, kategorisiert und mich zum wiederholten Mal darüber geärgert, dass man hier nicht vernünftig taggen kann. Ich hatte mir vor einiger Zeit deshalb schon mal ein Tagging-System überlegt, welches ich den Jungs von Songbird vorgeschlagen habe, aber leider in den Wirren ihres beschi... bescheidenen Forums unterging. Und wenn ich drüber nachdenke ist es fast das gleiche.

Was ich würde gerne Tags wie folgend zu vergeben können:

dance:jive=4
dance:foxtrott=5
rating:jens=4
rating:nils=3
rating:jörg=5
rating:anna=4
rating:average=4
occasion:party=5
occasion:cocktails=4
occasion:work=1
...

Man sieht es: Kategorisierte Tags mit Gewichtung. (Hier mit dem praktikablen 1-5 Sterne Prinzip)

Vielleicht sogar:

occasion:party:jens=5
occasion:party:nils=4
occasion:party:joerg=5
...

Dann noch entsprechende Filtrierungen in “intelligenten Wiedergabelisten” und Ad-hoc.

Sahnehäubchen: Das ganze als p2p-social-tagging-community ...
Geschrieben von Jörg in Internet, Musik, Softwaretechnik um 11:27 | Kommentare (0) | Trackbacks (0)
Tags für diesen Artikel: configuration, internet, itunes, songbird, tagging, web2.0

Sonntag, 25. März 2007

Podcast zu Extreme Programming

Einen sehr interessanten Podcast zum Thema Extreme Programming (XP) gibt es beim CCC:

Extreme Programming - Hintergründe und Erfahrungen zur Software-Entwicklungsmethode “XP” (MP3, ca. 102 min)

Diese Folge ist zwar nicht mehr ganz taufrisch, aber dadurch inhaltlich nicht weniger aktuell. Vor allem die von Pavel gemachten und erwähnten Erfahrungen sind interessant. Unbedingt anhören!

Übrigens kann man Podcasts prima bei der Hausarbeit hören, wie ich festgestellt habe. Beim Bügeln beispielsweise. :-D
Geschrieben von Jörg in Softwaretechnik um 22:48 | Kommentare (0) | Trackbacks (0)
Tags für diesen Artikel: agile methoden, extreme programming, softwaretechnik, xp

Donnerstag, 14. September 2006

Windows Vista - Kosten und Industriemotor

Laut einem Heise-Artikel hatte Microsoft eine Studie beauftragt die nun das sensationelle Ergebniss hat: Windows wird in Europa 50.000 neue Arbeitsplätze schaffen.

Da wir mit tollen Zahlen um sich geworfen, zum Beispiel das 32 Milliarden Euro Folgeumsatz in der Industrie durch Vista erzeugt werden sollen. Das kann man aber auch umdrehen: Vista wird 32 Milliarden Folgekosten erzeugen! Am schönsten bei Hardware: Auf jeden Euro den man für Vista ausgibt wird man im Schnitt 7,23 für neue Hardware ausgeben müssen.

Na dann hoffen wir mal, dass dies durch die ach so hohe Produktivitätssteigerung wieder herrein zu holen ist.
Geschrieben von Jörg in Softwaretechnik um 14:32 | Kommentare (0) | Trackbacks (0)
« vorherige Seite   (Seite 4 von 7, insgesamt 31 Einträge) » nächste Seite

Suche

Inhalt

Startseite
Galerien
Impressum

Kategorien

  • XML Alltag
  • XML Internet
  • XML Musik
  • XML Politik
  • XML Reise
  • XML Softwaretechnik
  • XML Sonstiges
  • XML Visuelles

Alle Kategorien

Archive

Februar 2012
Januar 2012
Dezember 2011
Das Neueste ...
Älteres ...

Blog abonnieren

XML RSS 2.0 feed
ATOM/XML ATOM 1.0 feed
XML RSS 2.0 Kommentare

Login

Verwaltung des Blogs

Login

Aktuelle Einträge

Netzwerkkultur verändert die Gesellschaft
Dienstag, 17. November

Absolute and relative date and time
Sonntag, 18. Oktober

Oren Lavie - Her Morning Elegance
Dienstag, 6. Oktober

Twitter & Blogroll
Samstag, 8. August

Read It Later: Round-Trip-Integration mit Firefox und Google-Reader
Montag, 3. August

Blogroll

* Jörg bei Twitter
* Jens bei Twitter
* Nils bei Twitter

* Beetlebum
* a life less ordinary?
* Martin Fowler's Bliki
* Springify
* BILDblog
* Plazeboalarm
* LawBlog
* ADOM Blog
* Being busy
* Dr. Gero Presser

Links

* Heise
* The Scala Programming Language
Nils' Fotos bei fotocommunity.de
Jogi auf Qype
Get Firefox!
Use OpenOffice.org

Heise News

* AMD FirePro V3900: Profi-Grafikkarte für Einsteiger

* Auch Tschechien setzt ACTA-Ratifizierung aus

* Datenschutz-Zertifikat für De-Mail-Lösung von Mentana-Claimsoft

* Brüssel will schärfer gegen Copyrightverstöße im Web vorgehen

* Corning und Samsung wollen gemeinsam OLEDs fertigen

kostenloser Counter