Beiträge von a9bejo

    Warum nimmst du nicht einfach ein Tool


    Lasst den armen Beat doch sein Programm schreiben wenn er das will. Etwas Uebung hat noch niemanden geschadet(*).

    (*) Naja meistens jedenfalls. Hat sich sicher schon mal ein Shaolin Moench beim Ueben mit einem Nunchaku die Ruebe eingeschlagen. Aber selbst der hat dabei wahrscheinlich noch was gelernt.

    Also Deinen Code habe ich nicht so genau angeschaut, aber wenn Du Verzeichnisse direkt kopieren möchtest, verwende doch einfach FileUtils#copyDirectory aus dem Apache Commons Projekt.

    http://commons.apache.org/io/api-release…20java.io.File)

    Was Dein MemoryLeak betrifft, rate ich dir folgendes: Versuche Den State deiner Objekte erstens klein zu halten und zweitens zu kapseln. Du greifst z.B. in Deinem Code oefters auf statische Attribute zu und veraenderst diese (z.b. all die Aufrufe auf BackupGUI). Das macht Deinen Code

    - nicht threadsafe, weil mehrere Threads in beliebiger Reihenfolge Werte veraendern koennen.

    - schwer ueberschaubar, weil man mitdenken muss, wie der Zustand von BackupGUI gerade ist.

    - anfaellig fuer Memoryleaks, weil der globale state nicht unbedingt geloescht wird.

    Das Du eine statische Methode BackupGUI.appendTextArea hast, laesst mich darauf schliessen, das Du auch eine statische TextArea hast. Schau dir am besten mal einfach an wie andere Swing GUIs schreiben, dann siehst Du wie es auch anders geht.

    Ich empfehle dir deine Software so zu designen, dass

    - du moeglichst wenig Methoden mit Seiteneffekten hast.

    - deine Objekte so wenig wie moeglich von einander wissen muessen.

    - deine Objekte nur den kleinstmoeglichen Zustand besitzen. Also im Prinzip so wenig Instanz und Klassenvariablen wie nur moeglich. Aussnahmen sind statische, final Variablen. Wenn Du Instanzvariablen hast, dann deklariere sie wenn moeglich als final.

    Dann entstehen naemlich solche Memoryleaks erst gar nicht. Und wenn doch, dann sind die schnell gefunden.

    PS: Von System.exit() sollte man wenn moeglich ganz die Finger lassen.

    Zeit totschlagen ist ja nun nicht zu verachten. Das hat dem Internet und dem Fernseher und dem iPod ja auch zum Erfolg verholfen (In dem Zusammenhang: Mit dem n800 kann man auch porn schauen).

    Das feine an dem Geraet ist das Display: Mit 800x480 kannst Du halbwegs gescheit Webseiten browsen und texte lesen. Ich wuerde als wichtigsten Nutzen angeben: Mobiles Internet + Media Player.

    Ist eigentlich außer mit noch jemand von Nokias Internet Tablets fasziniert? Ich habe mir vor ein paar Tagen das Nokia n800 gekauft, das ist derzeit bei amazon.de um unter 230,- zu haben, weil das Nachfolgemodell schon draussen ist (das kostet ueber 400, was es mir sicher nicht wert waere).

    Die Dinger sind schon ziemlich geil.

    http://arstechnica.com/reviews/hardware/n800.ars

    http://www.youtube.com/results?search_query=n800

    http://maemo.org/intro/

    Servus Leute,

    vl. ist diese Frage für viele zu dumm, aber: gibt es Linux for Pocket PC? Ich meine, ich habe die Möglichkeit, ein Pocket PC mit WindowsPocketOS 2000 zu kaufen, und ob ich danach irgendwo Linux für dieses Gerät finde? :)

    vlg,
    Wowa

    Nicht auf jedem Modell. Mein alter Dell Axim hat sich damals nicht zum laufen bringen lassen. Der war aber auch so ein ziemlicher Reinfall. Was ist das denn fuer ein Geraet?

    Zweitens, die Argumentation "Wenn ich ein Dokument im neuen Format speichere, dann kanns mein altes Programm nicht mehr lesen" ist ja wohl das letzte. Sowas reaktinäres hab ich ja selten gehört.


    Das hast Du voellig falsch verstanden:
    Niemand hat behauptet, das jedes Programm jedes Format oeffnen koennen muss oder soll. Der Sinn von Standardformaten ist, das jeder Programmierer Software schreiben kann, die das Format liest und darin schreibt. Wenn Du ein Dokument im OpenDocument Standard abspeicherst, dann kann jeder Programmierer das in seinem Programm verwenden. Niemand hat behauptet das jeder Imageviewer ein Editor sein muss.


    Drittens, Office-Tools sind genau so wenig "Standard"-Software wie z.B. ein Internetbrowser oder Mediaplayer.

    Wikipedia: "Als Standardsoftware werden Softwaresysteme verstanden, die einen klar definierten Anwendungsbereich abdecken und als vorgefertigte Produkte erworben werden können. Im Gegensatz dazu wird Individualsoftware gezielt für den Einsatz bei einem Kunden bzw. Unternehmen entwickelt."

    Selbstverstaendlich ist jede von dir genannte Software Standardsoftware.


    Ich meine, du kannst nicht sagen, ich will für eine Software an der keine Ahnung wie viele Programmierer leben sollen nicht zahlen, weil das ist eh Standard, des muss ja dabei sein.

    Das kommt auf Angebot und Nachfrage an. Wenn ich es gewohnt bin das ich die Funktionalitaet kostenlos vorgesetzt bekomme, dann werd ich das schon negativ finden wenn das wo anders nicht der Fall ist. Und die wichtigste Standardsoftware kannst Du nunmal ganz prima kostenlos bekommen.

    Weil in der weiteren Folge würden wir draufkommen, dass eigentlich ALLE Software Standard ist, und gratis, was sehr zu begrüßen wäre, mir aber einiges Kopfzerbrechen bereiten würde, womit ich während des Studiums dann mein Geld verdienen sollte (und vielleicht nachher auch).

    Ein Grossteil der Software die wir (Ich und Du) heute benutzen kostet uns kein Geld. Glaubst Du die Menschen die diese Software schreiben werden nicht bezahlt? Ein Grossteil der Software, der Du bei einer Google Suche benutzt, ist kostenlos (die Google Suche selbst natuerlich nicht). Oft nicht nur kostenlos, sondern sogar freies Eigentum. Du nutzt kostenlos Software, wenn Du in dieses Forum schreibst. Trotzdem werden Programmierer dafuer bezahlt an der Software zu arbeiten, und die Firmen die sie bezahlen, verdienen auch sehr gut daran. Das ist bei Office Software nicht anders: Ein Sun oder IBM Mitarbeiter bekommt nicht weniger Geld, nur weil die Software die er herstellt dem Endverbraucher nichts kostet. Das ist nur ein anderes Vertriebsmodell.


    Ich bin keinesfalls ein Freund der Firma Microsoft, versteht mich nicht falsch. Man kann diesem Konzern zu vieles vorwerfen, als dass man noch eine gute Meinung von ihm haben könnte. Aber durch unsachliche Argumentationen und stumpfsinnigen Extremismus (alles, was von Microsoft ist, ist scheisse) wird es wohl kaum möglich sein, irgendjemand anderen von unseren Kritikpunkten (an Microsoft) zu überzeugen.

    Diesen Extremismus lese ich bisher aber gar nicht aus den Kommentaren heraus. Kannst Du mal angeben auf welche Postings Du dich da beziehst? Den einzigen Kommentar den ich gefunden habe, hast Du ja mittlerweile entfernt (vielen Dank dafuer).

    Ich meine, Wolfibolfi, hast du dich mit dem Thema .docx fünf Minuten außeinander gesetzt, oder hast du nur gesehen dass die Dinger eine neue Datei-Endung haben und sie deshalb als schlecht befunden?

    Ich habe es mir jedenfalls etwas laenger angeschaut: http://www.informatik-forum.at/showpost.php?p=450457&postcount=2


    Natürlich, wenn man OpenOffice verwendet ist es schon ärgerlich, wenn einem jemand ein .docx zusendet! Glaubt ihr, ich ärgere mich nicht, wenn ich von jemanden ein OpenOffice-Dokument zugesendet bekomme, und ich das dann nicht öffnen kann, sondern zuerst OpenOffice installieren muss? (Das Problem hatte meine Deutschlehrerin mal mit einer meiner Deutschschularbeiten in der Schule... zum Glück gab es ja auch die Ausdrucke...^^)

    Genau aus diesem Grund gibt es einen einheitlichen ISO Standard - naemlich das OpenDocument Format.

    Du erstellst eine Klasse die [url=http://www.onjava.com/pub/a/onjava/e…dex.html?page=1]JTableModel implementiert (eventuell indirekt ueber AbstractTableModel oder DefaultTableModel) und gibst dann eine Instanz davon an deinen JTable.

    Hier wird ein generisches Tablemodel fuer Datenbanken gezeigt: http://www.onjava.com/pub/a/onjava/e…dex.html?page=1 . Gefaellt mir eigentlich nicht sehr, weil da ein GUI Element an die Datenbanklogik gekoppelt wird. Aber da kannst es als Beispiel fuer die verwendung des JTables verwenden.

    http://www.informit.com/articles/artic…332278&seqNum=1


    Also das erste Element bekomm ich richtig, als das größte heraus.
    Wie kann ich das zweitgrößte ermitteln!?

    Die beiden am einfachsten zu verstehenden (was bedeuten wuerde die vermutlich besten) Loesungen, die mir jetzt einfallen:

    1.) Das groesste Element aus der Liste nehmen und dann nocheinmal das groesste Element suchen.

    2.) Das Array absteigend zu sortieren und dann die ersten beiden Elemente nehmen.

    Vielleicht interessiert dich Erlang. Ist eine funktionale Sprache, die sehr oft in Verbindung mit Mehrprozessorsystemen erwähnt wird.

    Erlang ist tatsächlich ein Traum was paralleles Computing betrifft und ebenso wenn es um verteilte Systeme geht. Erlang Prozesse sind extrem leichtgewichtig: 1 Millionen leere Prozesse auf und zumachen dauert auf meinem Rechner (Core Duo, 2GB) 1.58000 Mikrosekunden. Die Sprache macht es zudem extrem einfach, parallelen & wartbaren Code zu schreiben.

    Das Erlang System kann das alles machen weil es auf einer puren funktionalen Programmiersprache basiert. Der Flaschenhals beim Mulithreading sind die Seiteneffekte: Sobald man einen Zustand hat, der über mehrere Prozesse geshared werden darf, wird paralleles Programmieren zu einer fehlerlastigen und extrem schwer zu
    optimierenden Angelegenheit (hat Paulchen ja auch schon angesprochen). Das macht Threading in prozeduralen/objektorientierten Sprachen so kompliziert (Dining Philosopher). Weil es aber in puren funktionalen Sprachen keine Seiteneffekte gibt, wird das Parallelisieren viel einfacher.

    Nehmen wir z.B. die Funktion "map", die es in fast jeder Sprache, die Higher Order Funktions unterstuetzt, in der Standardbibliothek gibt:

    PHP
    map(function(x){x*x},[1,2,3,4])  // => [1,4,9,16]

    Weil es in einer puren funktionalen Programmiersprache keine Seiteneffekte gibt, kann sich ein Compiler sofort sicher sein, das die Reihenfolge der Aufrufe egal ist. Dadurch lässt sich jeder der 4 Funktionsaufrufe sofort in einem eigenen Prozess ausführen.

    In Erlang ist der Code fuer ein paralleles map ca 20 Zeilen lang. In dem Buch Programming Erlang wird eine Implementierung fuer eine generische MapReduce Library in ca 30 Zeilen gezeigt. Dem Glasgow Haskell Compiler kannst Du mit einem switch anweisen, dass er Aufrufe wie map automatisch für Multiprozessorsysteme optimieren soll.

    Ich kann also die Implementierung der Programmlogik von der Parallelisierung trennen.

    Ich kann mir durchaus vorstellen, dass funktionale Programmiersprachen in den nächsten Jahren drastisch an Popularität gewinnen werden. Sicher kann man sich da natürlich nicht sein, aber das Momentum ist da: Es gibt ein großes Problem, eben das Skalieren in die Multiprozessor-Generation, für das sich funktionale Programmierung als Lösung anbietet. Es gibt den Hype (vor allem um das neue Erlang Buch) und es gibt auch die fetten Klötze in der Industrie die dahinterstehen. Zum Beispiel hat Microsoft angekündigt F# jetzt als Primaersprache neben C# und VB zu vermarkten, Fuer Java wird Scala gepusht, Google verwendet das Akteur Modell von Erlang in ihren Bibliotheken und promotet natürlich ihr mapreduce. Und natürlich spielt sich Ericsson jetzt als der Experte für Erlang und Hochverfuegbarkeitssysteme auf.

    Wer sich fuer das Thema interessiert, dem kann ich das Buch Programming Erlang - Software for a Concurrent World empfehlen, sowie das Kapitel ueber Software Transactional Memory von Simon Peton Jones, das unter dem Namen "Beautiful Concurrency" in dem Buch Beautiful Code erschienen ist. In Beautiful Code findet sich zudem auch ein Kapitel über MapReduce (Da stehen ueberhaupt nur coole Sachen drinnen).

    Von Simon Peyton Jones gibt es auch ein Video von seinem Vortrag ueber Software Transactional Memory bei der OSCON (Hier sind die Slides). Ausserdem gibt es von einem Schueler von SPJ ein sehr gutes Paper zum Thema: Parallel Functional Programming: An Introduction.

    Und ein zweiteiliges Intro in Haskell gibt es von SPJ auch.

    Also was eine verkettete Liste ist habt ihr in der Vorlesung besprochen (und bei Wikipedia steht es ja auch), und die Schritte die Du dafuer machen musst stehen auch in der Angabe. Ich wuesste jetzt gar nicht wie ich dir helfen soll, ausser vielleicht dir eine fertige Liste zu schreiben? Aber selbst das kannst Du schneller haben, wenn Du einfach bei Google danach suchst.

    Kannst Du vielleicht genauer beschreiben, wo Du nicht weiterkommst?

    wenn ich mich ein leben lang herumplangen muss kauf ich das ding nicht. wenn es eine klicki bunti lösung wie winamp gibt, dann nehme ich das in kauf.


    Ich bin mir sicher das es eine solche guten Loesungen gibt. Die Frage ist ob es morgen auch noch so ist. Es gibt irgendwo in cupertino eine Abteilung die eifrig damit beschaeftigt ist herauszufinden wie die verhindern koennen, dass Dein iPod so funktioniert wie Du es haben willst. Und die frage ist warum du diese Abteilung finanzieren solltest indem Du dir einen ipod kaufst, nur um dann in 6 Monaten nach einem neuen Crack oder einer neuen Software zu suchen, weil Apple den alten umgangen hat.


    Zitat

    das ding schaut einfach höllisch gut aus, da müssen sich derzeit alle anderen verstecken.


    Der Witz ist das Du selbst deinen ipod verstecken wirst, und zwar in Deiner Hosentasche. Das "schaut so huebsch aus" Argument zieht nur ein paar Wochen. Dann merkst Du das 1.) das Du mit dem Geraet zwar viel Musik hoerst, aber es fast nie anschaust und 2.) Das dein Geraet genauso aussieht wie das von jedem Anderen der dir in der UBahn begegnet. So ein Geraet hast du gewoehnlich in der hosentasche und nicht in einer Vitrine.
    Bei UI ist es aehnlich: Ja, das vom ipod ist gut. Aber all die andern Hersteller haben laengst nachgezogen, und Du verwendest ja ca 90% der zeit mit hoeren und nicht mit musik browsen.

    Ein Bekannter hat sich mal ein wenig mit Klangqualitaet beschaeftigt und sich ein paar gute player rausgesucht:

    http://axel.blogr.com/stories/102159/

    Und bitte jetzt keine dummen Kommentare posten *lol* :)

    "Das wird dich nicht beschuetzen. Baron kann auch durch Feuer gehen."

    "Da mag aber jemand sein Steak gut durchgebraten"

    "Ist doch egal welchen Brennstoff du nimmst - Bei den ganzen Holzmoebeln brennt die Uni praktisch wie von selbst"

    "Messer, Schere, Feuer, Licht, ..."

    "Windows User nehme ich an?"

    "Ich habs mir anders ueberlegt. Ich komme jetzt doch nicht zu Deiner Party"

    "Pah! Ich hab 50% Resistenz gegen Feuer und eine Ruestung mit nem Frostzauber der Staerke 12."

    "Hast Du geschlafen als sie in deiner Terrozelle ueber Feuer gesprochen haben? Wie bist Du nur durch die Feueruebung gekommen?"

    "Schon mal dran gedacht das deine Freundin auch durchs Fenster verschwinden kann?"