Tylers Kneipe Foren-Übersicht Tylers Kneipe

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste     RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 
Zum ChatSkypen

(new Thread(ProgrammingFactory.getDiscussion())).start();
Zurück  1, 2, 3, 4 ... 20, 21, 22, 23  Weiter Alle
 
Neues Thema eröffnen  Neue Antwort erstellen Tylers Kneipe Foren-Übersicht -> Special: Off-Topic
 
 
Autor Nachricht
Gerstenbob



Beiträge: 12713
Wörter pro Beitrag: 22

Private Nachricht senden

BeitragVerfasst am: 21.10.2006, 23:40                                  +/-

Man kann sich einen Sport draus machen, indem man das "a" Tag angibt und dann versucht, die herumfliegenden Links zu erwischen. hähö

Besonders bei der Unterforen-Ansicht zu empfehlen.

Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23056
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 02.11.2006, 19:18                                  +/-

Eben im Blog von Erling Ellingsen über zwei C Puzzles gestolpert:

Erstes Puzzle:
Find a way to make the following C program fragment print 42 dashes, by changing only one character. Then find two more!
Code:

int i, n = 42;
for (i = 0; i < n; i--)
  printf("-");

Bonus puzzle: 43.
Bonus puzzle 2: find ways to make it print exactly one dash.

Zweites Puzzle:
What does this magic function do, and why does it work?
Code:

int magic(int i) {
  int j = 1337, k = 0;
  do k -= i += (i<0) + i;
  while (j *= 42);
  return k;
}


-------------------

Das erste Rätsel ist einfach, außer wenn man bei den Bonusfragen auch nur ein Zeichen ändern darf. Das Zweite verstehe ich nicht: Also, ich verstehe den "why does it work" Part, aber bin ratlos ob die Funktion irgendwas sinnvolles macht.

Nach oben
Antworten mit Zitat
Psycho Dad
Sultan der Rhetorik


Beiträge: 14361
Wörter pro Beitrag: 34
Wohnort: in the moment
Private Nachricht senden

BeitragVerfasst am: 02.11.2006, 19:29                                  +/-

So vielleicht?

Spoiler:
int i, n = 42;
for (i = 0; -i < n; i--)
printf("-"-);


_________________
„Hm, ich hätte Appetit auf generell asiatisch.“
(Tyler D.)
Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23056
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 02.11.2006, 20:32                                  +/-

Ja, und dann noch so:

Spoiler:
int i, n = 42;
for (i = 0; i < n; n--)
printf("-"-);


Die dritte Möglichkeit mit nur einer Zeichenänderung sehe ich aber nicht. ?????

Nach oben
Antworten mit Zitat
Glaurung



Beiträge: 27621
Wörter pro Beitrag: 49

Private Nachricht senden

BeitragVerfasst am: 18.04.2007, 15:19                                  +/-

Ich hasse Eclipse! Wie kann man nur eine derartig unübersichtliche Plugin-Politik machen?

Ich will eigentlich nur eine Java-Entwicklungsumgebung mit dem Visual Editor haben. Das wollen bestimmt hunderttausend andere auch. Da könnte man ja mal ein fertiges Bundle bereitstellen. Aber nein, man muß sich alles einzeln suchen.

Das ginge ja noch. Aber der VE braucht dann auch wieder irgendwelche Komponenten, die aber nicht verlinkt werden. Nach ewigem Gesuche und viel Rumgekrüppel hat man dann den VE angeblich drauf, aber im Programm merkt man nix davon. Eigentlich sollte ich im Menü die Option haben, eine neue visuelle Klasse zu erstellen, habe ich aber nicht. Argh!

Jetzt muß ich wohl bis Freitag warten und mir die Software von der arroganten Ausbilderin geben lassen


_________________
I have come here to chew bubble-gum and kick ass. And I'm all out of bubble-gum.
Nach oben
Antworten mit Zitat
Kaylee



Beiträge: 6078
Wörter pro Beitrag: 29

Private Nachricht senden
Website dieses Benutzers besuchen

BeitragVerfasst am: 18.04.2007, 15:43                                  +/-

Streber. grins


_________________
Ha! You afraid to get wet?
Nach oben
Antworten mit Zitat
Glaurung



Beiträge: 27621
Wörter pro Beitrag: 49

Private Nachricht senden

BeitragVerfasst am: 06.05.2007, 23:48                                  +/-

Ich habe gerade eine graphische Auswertung für mein kleines Java-Programm geschrieben (das verschiedene Algorithmen für das sog. Rucksackproblem implementiert und die Laufzeiten vergleicht). Ganz zum Schluß stelle ich fest, daß die Zeitmeß-Klasse, die ich von einem Kollegen bekommen habe, das Ergebnis als String (inkl Buchstaben) statt als int liefert. Völlig unbrauchbar für eine koordinatenbasierte Grafikausgabe Und da ich nur die class-Datei habe, muß ich mir jetzt wohl selbst eine Stopuhr-Klasse schreiben Geschockt


_________________
I have come here to chew bubble-gum and kick ass. And I'm all out of bubble-gum.
Nach oben
Antworten mit Zitat
GuyIncognito



Beiträge: 21148
Wörter pro Beitrag: 34
Wohnort: Terra Incognita
Private Nachricht senden
Website dieses Benutzers besuchen

BeitragVerfasst am: 07.05.2007, 07:24                                  +/-

Kannst du den String nicht in Int wandeln?


_________________
I dont know, what you are talking about.
Nach oben
Antworten mit Zitat
Glaurung



Beiträge: 27621
Wörter pro Beitrag: 49

Private Nachricht senden

BeitragVerfasst am: 07.05.2007, 15:50                                  +/-

Ich hätte ihn zeichenweise auslesen und dann nur die Zahlen rausfiltern können. Oder gleich eine eigene Klasse schreiben. Aber ich habe heute den Kollegen gefragt und herausgefunden, daß es eine Hintertür gibt: Eine undokumentierte Membervariable, die die Zeit als Long enthält. Immerhin.

Aber die Zeitmessung ist eh sehr mangelhaft, da sie nur in 16-Millisekunden-Schritten läuft und für schnelle Operationen immer den gleichen Wert liefert.


_________________
I have come here to chew bubble-gum and kick ass. And I'm all out of bubble-gum.
Nach oben
Antworten mit Zitat
Glaurung



Beiträge: 27621
Wörter pro Beitrag: 49

Private Nachricht senden

BeitragVerfasst am: 07.05.2007, 16:29                                  +/-

Ich bin dringend dafür, technische Schulungen für fremdstämmige Beschäftigte von Internet-Cafés verpflichtend einzuführen. Ich wollte heute meinen Personalausweis scannen, und da ich keinen Scanner besitze, suchte ich eines der unzähligen, sämtlichst von Migranten geführten Internet-Cafés auf. Mir ist schon öfter aufgefallen, daß die Scanner in solchen Geschäften meistens "kaputt" sind. Natürlich ist der Scanner nie wirklich kaputt, der Mensch am Tresen weiß nur nicht, wie man ihn bedient und sagt deshalb, er sei kaputt. So auch diesmal: "Tut mir leid, der Scanner geht nicht."

Diesmal wollte ich's aber wissen und nervte ihn solange, bis er es doch probierte. Das Starten der Scansoftware überforderte ihn leider bereits. In seiner handgeschriebenen Anleitung stand nämlich, daß sich das entsprechende Icon auf dem Desktop befindet. Leider wußte er aber nicht, was der Desktop ist.

Als die Software dank meiner geduldigen Hilfe dann lief, gab es die nächste große Hürde: Man mußte auf einen riesigen Button klicken, auf dem "Scan" stand. Ohne eine IT-Ausbildung, wie ich sie derzeit genieße, ist es natürlich unmöglich zu erahnen, daß das Anklicken dieses Buttons den Scanvorgang auslösen könnte. Zum Glück konnte ich auch hier mit meinem Fachwissen weiterhelfen.

Danach wurde es wirklich schwierig: Man mußte ein Speicherziel angeben und danach auch noch wiederfinden. Dies erfordert Kenntnisse über Dateisysteme und Verzeichnisstrukturen, also die ganz hohe Schule. Da halfen auch lange Erklärungen nichts und ich mußte selbst zur Maus greifen.

Als echter Sadist hatte ich natürlich kein Mitleid und sagte gnadenlos: "Danke, und jetzt noch die Rückseite bitte." Böse


_________________
I have come here to chew bubble-gum and kick ass. And I'm all out of bubble-gum.
Nach oben
Antworten mit Zitat
Helcaraxe



Beiträge: 15994
Wörter pro Beitrag: 42

Private Nachricht senden

BeitragVerfasst am: 07.05.2007, 16:34                                  +/-

Gibt's ihn Java echt keine Möglichkeit systemunabhängig auf den Time Stamp Counter des Prozessors zuzugreifen? ????? Dann hättest Du doch einen hochaufgelösten Zeitgeber.

Nach oben
Antworten mit Zitat
Glaurung



Beiträge: 27621
Wörter pro Beitrag: 49

Private Nachricht senden

BeitragVerfasst am: 07.05.2007, 17:06                                  +/-

Oh, das gibts tatsächlich: System.nanoTime(). Wieso hat der Depp die Methode nicht benutzt? Alles muß man selber machen Echt schlimm


_________________
I have come here to chew bubble-gum and kick ass. And I'm all out of bubble-gum.
Nach oben
Antworten mit Zitat
Helcaraxe



Beiträge: 15994
Wörter pro Beitrag: 42

Private Nachricht senden

BeitragVerfasst am: 07.05.2007, 17:36                                  +/-

Fein. Ich schreibe zeitkritische Sachen zwar grundsätzlich in C/C++, aber es hätte mich schwer gewundert, wenn einem diese Möglichkeit in Java nicht offengestanden hätte.

Nach oben
Antworten mit Zitat
Glaurung



Beiträge: 27621
Wörter pro Beitrag: 49

Private Nachricht senden

BeitragVerfasst am: 07.05.2007, 17:39                                  +/-

Wobei es wohl hardwareabhängig ist, ob die Methode tatsächlich genauer arbeitet als getTimeMillis(). Mal sehen.


_________________
I have come here to chew bubble-gum and kick ass. And I'm all out of bubble-gum.
Nach oben
Antworten mit Zitat
Tyler Durden
Administrator


Beiträge: 23056
Wörter pro Beitrag: 48

Private Nachricht senden E-Mail senden
Skype Name Website dieses Benutzers besuchen

BeitragVerfasst am: 08.05.2007, 13:10                                  +/-

System.currentTimeMillis() oder getTimeMillis sollte man nur für Uhrzeiten und Datum verwenden. Wenn zum Beispiel die Uhrzeit aktualisiert wird (durch einen Timestampserver), ändern sich auch die Werte da. Außerdem ist es sehr ungenau. Deshalb wurde explizit für Messungen nanoTime() eingeführt. Kleines Beispiel:

Code:
public class millisecond {
   
   public static void main(String[] args) {
   
   long start = 0;
   long stop = 0;
   int correctMilli = 0;
   int correctNano = 0;
   long maxValue = 0;
   long minValue = 0;
   long total = 0;
   int sleepTime = 55;
   
   
   for (int i = 0; i < 100; i++) {
      start = System.currentTimeMillis();
      try {
      Thread.sleep(sleepTime);
      } catch (InterruptedException e) {
            //nichts
      }
      stop = System.currentTimeMillis();
      total = stop -start;
      if (total == sleepTime) {
         correctMilli++;
      } else {
         if (total > maxValue) maxValue = total;
         if (total < minValue || minValue == 0) minValue = total;
      }
      
   }
   System.out.println("**** System.currentTimeMillis() ****");
   System.out.println("Anzahl der korrekten ms: " + correctMilli);
   System.out.println("Kleinste Abweichung: " + minValue + " ms");
   System.out.println("Höchste Abweichung: " + maxValue + " ms");
   
   maxValue = minValue = 0;

   for (int i = 0; i < 100; i++) {
      start = System.nanoTime();
      try {
      Thread.sleep(sleepTime);
      } catch (InterruptedException e) {
            //nichts
      }
      stop = System.nanoTime();
      total = ((stop - start) / 1000000);
      if (total == sleepTime) {
         correctNano++;
      } else {
         if (total > maxValue) maxValue = total;
         if (total < minValue || minValue == 0) minValue = total;
      }
   }
   System.out.println("**** System.nanoTime() ****");
   System.out.println("Anzahl der korrekten ns: " + correctNano);
   System.out.println("Kleinste Abweichung: " + minValue);
   System.out.println("Höchste Abweichung: " + maxValue);
   }
}


Raus kommt dann sowas in der Art:

[Session started at 2007-05-08 13:45:56 +0200.]
**** System.currentTimeMillis() ****
Anzahl der korrekten ms: 90
kleinste Abweichung: 56
höchste Abweichung: 58
**** System.nanoTime() ****
Anzahl der korrekten ns: 100
kleinste Abweichung: 0
höchste Abweichung: 0

currentTimeMillis ist bei mir (Mac OS X) immer in einem Zehntel der Fälle falsch. Wie genau die nanoTime Methode ist weiß ich nicht, man findet dazu einen Bugreport bei SUN (In progress, bug), der mehr Infos fordert. Wenn man ganz sicher gehen will, sollte man Algorithmen, die zu schnell ausgeführt werden (wenige Millisekunden) als dass man sie sinnvoll messen kann, einfach mehrmals hintereinander ausführen (z.B hundertmal) und die Gesamtzeit messen. Der Einfluss von der Runtime/GarbageCollector wird dann auch verringert.

Nach oben
Antworten mit Zitat
Glaurung



Beiträge: 27621
Wörter pro Beitrag: 49

Private Nachricht senden

BeitragVerfasst am: 18.05.2007, 17:59                                  +/-

Glaurung
Oh, das gibts tatsächlich: System.nanoTime(). Wieso hat der Depp die Methode nicht benutzt? Alles muß man selber machen Echt schlimm


Übrigens lieferte die Methode keine besseren Ergebnisse. Das Ergebnis war zwar nanosekundengenau angegeben, aber es war nicht wirklich nanosekundengenau, sondern nicht einmal auf zehn Millisekunden genau

Anderes Thema: Kennt jemand ein Tutorial, wo der Softwareplanungs-Prozess anhand eines konkreten Beispiels vorgeführt wird? Ich meine sowas in der Art:
1. Man erhält eine Aufgabe wie "Programmieren Sie das Spiel xy in Java. Die Regeln finden Sie im Beiblatt."
2. Nun soll man ein Klassendiagramm machen, eine Handskizze der geplanten Oberfläche, einen groben Zeitplan, einen Plan, welches Teammitglied was programmiert, sowie Struktogramme für kompliziertere Abläufe.

Ich denke, ich würde das schon irgendwie hinkriegen, aber ich finde auf Anhieb keinen Einstieg, wie ich die in natürlicher Sprache verfaßten Anforderungen in Klassen übersetze... ein konkretes Beispiel wäre da sehr hilfreich.


_________________
I have come here to chew bubble-gum and kick ass. And I'm all out of bubble-gum.
Nach oben
Antworten mit Zitat
Helcaraxe



Beiträge: 15994
Wörter pro Beitrag: 42

Private Nachricht senden

BeitragVerfasst am: 25.05.2007, 11:13                                  

Bastelstunde für Nerds: Wäre Thanil Windows-Benutzer, dürfte er sich jetzt freuen. Hat man wie er die Schnauze gestrichen voll von der Windows Bild- und Fuckanzeige, kommt man irgendwann auf die Idee, daß ein ähnlich simples, jedoch leistungsfähigeres Programm die Lücke schließen könnte. Eins, mit dem man Bilder beliebiger Auflösung verzögerungsfrei betrachten, präsentieren, drehen und skalieren kann, ohne überflüssigen Schnickschnack und unter Ausnutzung der Fähigkeiten moderner Grafikkarten. (Damit es richtig schnell wird.) Unter Linux gibt es GLiv und für Mac-System wird wohl ähnliches existieren. Nur die mir bekannten Windows-Lösungen sind entweder zu umständlich in der Bedienung oder zu eingeschränkt oder sie kosten richtiges Geld.

Mein Programm kostet nix, unterstützt alle gängigen Formate, hat einen bescheuerten Namen, ist schnell und erlaubt nebenbei die Anwendung photoshopartiger Filter in Echtzeit, d.h. sofern die Grafikkarte das zuläßt. Mag es vielleicht jemand ausprobieren? Ich bin mir sicher, daß es neben den m.E. recht gelungenen Aspekten jede Menge Fehler enthält, denn getestet habe ich es bislang nur auf einem einzigen Rechner – meinem eigenen. Auch ist der Funktionsumfang noch recht mau, es fehlt z.B. eine Diashow-Funktion. Die Hardware-Anforderungen sind aufgrund des gewählten Ansatzes recht hoch.



Download



Zuletzt bearbeitet von Helcaraxe am 25.05.2007, 12:33, insgesamt einmal bearbeitet
Nach oben
Antworten mit Zitat
Sunny



Beiträge: 2871
Wörter pro Beitrag: 33

Private Nachricht senden

BeitragVerfasst am: 25.05.2007, 11:27                                  +/-

Ich hab jetzt mal ein bisschen mit Angela rumgespielt. Fehler hab ich noch keine gefunden, die Funktionen die dabei sind laufen auch tadellos, aber ohne die Möglichkeit durch die Bilder eines Ordners zu switchen wird es wohl bei mir nicht die Windows Bild und Fuckanzeige ablösen. Trotzdem Spitze


_________________
Shut up, Crime!
Nach oben
Antworten mit Zitat
Helcaraxe



Beiträge: 15994
Wörter pro Beitrag: 42

Private Nachricht senden

BeitragVerfasst am: 25.05.2007, 11:29                                  +/-

Soweit fehlerfrei, gut! Auf welcher Hardware?

Bilder switchen läuft über die Cursortasten. hähö

Gepostet am 25.05.2007, 12:32:

Und rotieren über die mittlere Maustaste bzw. Shift+Linke Maustaste.

Nach oben
Antworten mit Zitat
Sunny



Beiträge: 2871
Wörter pro Beitrag: 33

Private Nachricht senden

BeitragVerfasst am: 25.05.2007, 11:32                                  +/-

Helcaraxe

Bilder switchen läuft über die Cursortasten. hähö


Ausgezeichnet.
Meine Hardware: Core 2 Duo 6400; Geforce 7950GT. Reich das oder brauchst du noch mehr Infos?

Gepostet am 25.05.2007, 12:34:

Hab jetzt aber doch einen kleinen Fehler gefunden. Ich hab jetzt umgestellt, dass meine Bilddateien automatisch mit Angela geöffnet werden. Wenn ich jetzt ein Bild öffne, öffnet sich das Programm auch brav, bleibt aber schwarz.


_________________
Shut up, Crime!
Nach oben
Antworten mit Zitat
Helcaraxe



Beiträge: 15994
Wörter pro Beitrag: 42

Private Nachricht senden

BeitragVerfasst am: 25.05.2007, 11:34                                  +/-

Doch, das reicht. Das entspricht im Wesentlichen meiner eigenen Ausstattung, deshalb ist der fehlerfreie Betrieb nicht so verwunderlich. Interessant wird es erst, wenn jemand eine ATI-Karte oder Windows Vista besitzt.

Gepostet am 25.05.2007, 12:35:

Sunny
Hab jetzt aber doch einen kleinen Fehler gefunden. Ich hab jetzt umgestellt, dass meine Bilddateien automatisch mit Angela geöffnet werden. Wenn ich jetzt ein Bild öffne, öffnet sich das Programm auch brav, bleibt aber schwarz.

Ah, gut zu wissen! Drag&Drop dürfte aber funktionieren.

Nach oben
Antworten mit Zitat
Sunny



Beiträge: 2871
Wörter pro Beitrag: 33

Private Nachricht senden

BeitragVerfasst am: 25.05.2007, 11:37                                  +/-

Ja Drag&Drop funktioniert. Gut, dann lass ich das jetzt mal so. Danke und falls du eine Version 1.1 rausbringst, sag bitte bescheid grins


_________________
Shut up, Crime!
Nach oben
Antworten mit Zitat
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Tylers Kneipe Foren-Übersicht -> Special: Off-Topic Alle Zeiten sind GMT + 1 Stunde
Zurück  1, 2, 3, 4 ... 20, 21, 22, 23  Weiter Alle
Seite 2 von 23

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Impressum. Powered by phpBB © 2001, 2006 phpBB Group. Deutsche Übersetzung von phpBB.de