Drücke „Enter”, um zum Inhalt zu springen.

Veröffentliche Beiträge in “Technik”

Technische Neuerungen und Informationen

Ich weiß es…

Jan 0

Wer immer dachte, die Jahreszeiten hätten etwas mit dem Lauf der Erde um die Sonne bzw. der Neigung der Erdachse zu tun, der irrt. Eigentlich ist immer Sommer! Die Ursache für die plötzliche Kälte sind Registry-Schäden oder Dateifehler im Computer. Hier der Beweis...

frost

Kein Wunder, dass es zur Zeit so kalt ist, irgendwie hat mein Rechner ja gerade Probleme!

PS: Wozu einen Übersetzer fragen, wenn es Programme dafür gibt.

Kleine Schritte

Jan 0

Heute hatte ich mir vorgenommen, die Berechnung und die Anzeige von einander zu trennen. Dazu habe ich in meiner Fraktalklasse aus einer Methode zwei gemacht. Eine zum Berechnen und eine zum Ausgeben. Die Oberfläche wurde davon kaum tangiert. Beim Ausgeben wird nur die Fraktalklasse nach dem Bild abgefragt. Dass das schon berechnet ist, interessiert dabei ja nicht. Ergebnis: Das Scrollen in der Grafik geht schön flüssig und ohne Ruckeln.

programm_5

Dem Berechnen-Button wurde endlich ein Icon verpasst und Funktionalität hinterlegt. Wenn der Button gedrückt wird, wird das Fraktal neu berechnet. Und schon stehe ich wieder vor einem neuen Problem, dass kein Neues ist: Wenn ich auf den Button berechnen drücke, soll der Text der Statuszeile auf "Rechne..." gesetzt werden und sobald er fertig ist, wieder auf "Fertig...". Das Problem äußert sich dann wie folgt: Es bleibt "Gestartet..." stehen, er rechnet und wenn er fertig ist, blitzt kurz was auf und dann steht "Fertig..." da. Woran liegt das? Stichwort: Eventqueue. Wenn der Button gedrückt wird, geht das Programm in den dafür vorgesehenen Zweig der Eventbearbeitung. Solange der Event abgearbeitet wird, müssen andere Events warten. So auch die Events, die das Neuzeichnen der Statuszeile veranlassen.

Demzufolge ist die nächste Aufgabe: Der Buttonevent muss schnell verlassen werden und den Weg frei geben für die Ausgabe der Statusnachrichten. Realisierung: Mit Betreten des Eventhandler wird ein Thread gestartet, der Setzen des Textes, Berechnen und wiederum Setzen des Textes veranlasst.

Was zu einem wirklichen Problem werden kann, ist das Setzen einer benutzerdefinierten Palette. Momentan adressiere ich die Werte für die Pixel direkt, d.h. ich benutze jeweils einen Wert für jeden der RGB-Kanäle. Realisierungsmöglichkeiten:

  1. Eine Übersetzungstabelle zwischenschalten, die mir die RGB-Werte für einen bestimmten Abbruchwert liefert. Nachteil dabei ist, dass diese Tabelle 16,7 Millionen Einträge hat.
  2. Abbildung über eine Formel: Anhand der Formel kann ich aus dem Abbruchwert den RGB-Wert berechnen. Diese Methode ist allgemein bei Fraktalgeneratoren üblich.

Und gegen abend – Regen

Jan 0

Nachdem ich heute morgen schon mal aufgezählt habe, was den vorteilhaft gegenüber einer Fahrt mit dem ÖPNV ist, fiel mir heute nachmittag noch etwas ein....

Begonnen hat das Ganze mit einer ewig langen Suche nach Bugs im meinem Programm. Und wer schon mal ein Programm zerlegen und wieder zusammensetzen mußte, weiß wovon ich rede. So stolperte ich von einem Bug zum anderen. Das erstaunliche daran war, dass ich viele gefunden hab, die sonst niemand entdeckt hätte. Gegen 16:30 Uhr glaubte ich meinem Ziel unglaublich nahe und packte schon mal alles zusammen. Doch mein Test ergab, das Ergebnis stimmte, aber die Teilsummen nicht. Also ging die Suche weiter. Ungefähr 2 Bugfixes und keine Änderung später sah ich mich schon morgen wieder auf Arbeit kommen, da der Fehler bis Donnerstag gefixt sein mußte und wir Sachsen morgen unseren teuer bezahlten Buß- und Bettag haben.

Um es mal mit Alanis Morissettes Worten zu sagen:

And life has funny way of helping you out when You think everything's gone wrong und everything blows up In your face

Denn 17:45 Uhr ging auf einmal alles auf. Die Gesamtsumme stimmte, die Teilsummen stimmten, es gab keine Rundungsfehler. Unter anderem machte sich folgender Bug breit... Es darf wieder mal geraten werden.

unsigned long Toolbox::RundeToCent(double value) {   // Rückgabewert   unsigned long rc = 0;   // einige Konvertierungen   [...]   // Rundung ab 0.5 auf nächsten vollen Wert   // sog. buchhalterisches Runden   rc = (unsigned long)value;   if (0.0 < value)   {     if (value - rc >= 0.5)       ++rc;   }   else   {     if (value - rc <= -0.5)       --rc;   }   // Rückgabe   return rc; }

Und dabei ist es doch so offensichtlich. Auf jeden Fall ging ich noch schnell in die Kaffeeküche und schaffte meine Tassen weg. Ich sah schon die nasse Scheibe und als ich ging, rannte ich schnell bei strömenden Regen zum Auto. Ich dem Moment war ich wieder froh, mit dem Auto auf Arbeit gefahren zu sein. Außentemperatur 3-4°C und dann Regen ist einfach hässlich. Auf dem Heimweg hatte es an etlichen Stellen Unfälle gegeben unter anderem mitten auf einer Elbbrücke, was für mich bedeutete, dass ich gut eine halbe Stunde für 300-400 Meter brauchte, aber es war warm. Aber die Straßenbahn stand auch - ein weiteres Pro für das Team Rüedi + Speedy.

Zur Compilezeit

Jan 0

Während nebenbei der Compiler sich mal wieder über meinen Quelltext hermacht ( 1,7 MB ), schau ich mich nebenbei noch ein bißchen bei deviantART um, füge ein paar Favouriten hinzu ...

storm_thumb

und erfreue mich an den Statistiken, die deviantART für meinen Account generiert:

electro-space has 76 pageviews total and his 50 deviations were viewed 317 times. He watches 4 people, while 0 people watch him. Overall, his deviations received 43 comments and were added to deviants' favourites 9 times, while he commented 29 times, making about 1.66 comments per day since he joined DA. This means that he received 15 comments for every 10 that he gave. His deviation with the most comments is Fractal art No. 74 with 7 comments, receiving an average of 0.5 per day in the first 2 weeks, and it is also his most favourited, with 2 favourites, averaging 0.14 per day in the first 2 weeks. His most viewed deviation is Fractal art No. 87 with 32 views. 2 favourites were given for every 10 comments. Every 0.3 days he uploads a new deviation, and it's usually on a Monday, with 11 (22%) of his deviations. His busiest month was November 2005 with 47 (94%) of his deviations. The majority of his deviations are uploaded to the Digital Art gallery (50), while his favourite category was Digital Art > Fractal Art with 50 deviations. Comments per deviation: 0.86 Favourites per deviation: 0.18 Views per deviation: 6.34 Comments per day: 2.46 Favourites per day: 0.51 Views per day: 18.17 Pageviews per day: 4.35

Welt der Engel

Jan 0

testament-fullBei deviantART gibt es natürlich wie in jedem Forum für Künstler, Leute nur Mist reinstellen und Leute die verdammt gute Arbeit leisten. Aber es gibt auch Leute, wo einem nur der Mund offen stehen bleibt und man gebannt staunt. So z.B. niteangel - ein Web-Designer dessen Webseite Angelworld keine Fragen offen lässt. Ziemlich schweres Flash-teil, aber Grafik und Sound sind einfach unschlagbar gut.

Apropos Grafik... hier ein Werk seines Könnens...

*** SPAM ***

Jan 0

Die letzten Tage war es verdächtig still in meinen Postfächern, kaum Spamnachrichten. Offensichtlich war das nur die Ruhe vor dem Sturm, seit gestern geht es auf einmal wieder sehr lebendig zu, das Problem daran ist - alle Mails passieren erfolgreich den Spamfilter. Warum auch, es sind keine Spam-Mails, sondern Meldungen, dass Mails nicht zugestellt werden können.

Ursache: Ich habe bei meiner DE-Domain ein Catch-All eingerichtet, dass alle Mails die an die Domain gerichtet werden auf eine gültige umgelenkt werden. Wenn z.B. jemand eine Mail an speedy_j (at) electro-space.de schreibt, bekomm ich die Mail, obwohl es die Mailadresse real garnicht gibt. Schön, aber wie man merkt, teuflisch.

Also bleibt mir erstmal nichts anderes übrig, als das Catch-All zu deaktivieren...

Noch so ein Projekt…

Jan 0

Auf einem Blog entdeckte ich gerade ein Bild, was mit Terragen erstellt wurde. Mit Terragen habe ich vor ca. 6-7 Jahren schon mal gearbeitet. Damals war es in einem frühen Entwicklungsstatium, lieferte aber schon relativ gute Bilder. Doch was ich jetzt auf den Terragen-Webseiten entdeckte, macht mich ja sprachlos. Die Qualität und der Anspruch sind enorm gestiegen.

Terragen

Terragen ist ein Generator für erdähnliche Oberflächen. Dabei kann das Terrain eingestellt werden, Wasserflächen, Wolken, Sonne und Sonnenstand. Das Ganze soll sich aber gegen Ende 2005 ändern, wenn die nächste Version von Terragen kommt - TGD. Mehrere Schichten von Wolken oder Blick aus dem Weltall sollen dann verfügbar sein.

TGD
TGD2

Excel-Problem

Jan 0

Ich hatte heute folgendes Problem... Ich erzeuge eine CSV-Datei (für Laien: Comma-separated values, durch Komma getrennte Werte). Soweit im Englischen - im Deutschen werden die Werte mit Semikola getrennt. Ziel der Aufgabe: Bei einem Doppelklick muß die Datei ordentlich in Spalten sortiert beim Nutzer auf dem Bilder im Excel erscheinen.

Problem: Bei manchen Rechnern funktioniert das. Bei manchen nimmt er das Komma von den Beträgen als Trenner.

Lösungsversuche:

Excel-Version:

Die Versionen sind identisch - inklusive Service-Pack Nummer.

alternative Trennzeichen:

Excel läßt sich nicht beirren, er nimmt Semikolon bzw. Komma als Trennzeichen

Ländereinstellung:

Absolut identisch - beide Rechner stehen auf "Deutsch". Als Listentrennzeichen ist ";" eingetragen

Dateiverknüpfung:

Im Explorer kann man über Extras->Ordneroptionen->Dateitypen sich die .CSV-Datei schnappen und dort unter erweitert folgenden Dialog sehen.

csv

Ich habe in einem Beitrag gelesen, dass man open("%1") in öffnen("%1") ändern soll. Hab ich gemacht, hatte bei mir keine Wirkung. Kaum änderte ich es auf einem Rechner, wo es nicht ging, funktionierte es plötzlich. Gut - er hat jetzt mit dem Pfadnamen Probleme, aber er öffnete die Datei erstmal korrekt.

Also wer noch eine Idee hat, kann sich hier gerne betätigen und mir Tipps geben...

Updates

Jan 0

Endlich komme ich dazu die Newsletter der letzten Tage mal zu lesen... Microsoft schickt mal wieder seine monatlichen Updates in den Umlauf. Das Space Shuttle Discovery ist wieder gelandet??? Ähm, von wann ist denn der Newsletter... ach so - 10. August. Ich hab einiges aufzuarbeiten :roll: Dafür kommt das Space Shuttle auch nicht so schnell wieder hoch.

George W. wieder mal auf dem Vormarsch, die Sommerzeit in den USA wird länger - mehr Sommer für alle! Mein Vorschlag: wir dehnen die Sommerzeit auf das ganze Jahr aus - das wäre doch mal wirklich sinnvoll.

Mal wieder Schach spielen... vielleicht nicht gleich bei einem Turnier, aber mal so zum Üben wäre echt nicht schlecht. Bei diesem Turnier ist besonders zu erwähnen, dass nicht mit der Startaufstellung begonnen wird, sondern mit einer beliebigen Aufstellung, sodass die Programme nicht auf ihre großen Eröffnungsdatenbanken zurückgreifen können, sondern allein die Algorithmen entscheidend sind.

Der Markt für freie Stellen im IT-Bereich ist gegenüber dem Vorjahr um 27 Prozent gestiegen. Die meisten Angebote kommen dabei von Beratungs- und Softwarefirmen. Laut der Umfrage stieg der Bedarf von IT-Leuten in der Luft- und Raumfahrtindustrie von 11 auf 108 Stellen. Nach Bereichen sortiert stieg der Bedarf an Internet-/Onlinefachleuten sowie Anwendungsentwicklern stark an.

Käfer

Jan 0

Jeder Programmierer hatte schon mal einen - einen Bug. Aber das die Bugs auch noch in Kategorien eingeteilt werden, machte mit auch erst heute ein Kollege klar. Bei den Bugs unterscheidet man folgende:

Heisenbug

Nach der Heisenbergschen Unschärferelation benannter Bug, der verschwindet oder sein Verhalten verändert, wenn er untersucht wird. Prominentestes Beispiel ist, wenn man ein Programm in der Release-Version erstellt hat und dann wieder eine Debug-Version erstellt und der Fehler dann verschwindet.

Bohr Bug

Der Bohr-Bug verhält sich gegensätzlich zum Heisenbug. Genau wie das Bohrsche Atommodell ist dieser Bug komplett nachvollziehbar und verändert sein Verhalten nicht. Also der klassische Computerbug.

Schrödingbug

Der Schrödingbug ist ein ganz witziger Bug - nachempfunden nach Schrödingers Gedankenexperiment mit der Katze, die gleichzeitig tot und lebendig ist, bis jemand nachgesehen hat und somit den Zustand festlegt. Übertragen auf den Bug ist der Fehler im Programm solange bis jemand sich den Quellcode ansieht und den Fehler feststellt. Ab diesem Moment bricht das Programm an dieser Stelle ab und hört erst damit auf, wenn der Bug entfernt wurde. Ziemlich unwahrscheinlich...

Mandelbug

Nach dem Amerikaner Mandelbrot benannter Bug, dessen Auftreten nicht bestimmt werden kann, weil die Komplexität des Systems sehr hoch ist, sodass sein Auftreten chaotisch ist. Der Mandelbug wird häufig dem Heisenbug gleichgesetzt, meiner Erfahrung nach verteilt sich ein Mandelbug auf mehrere Heisen-, Schröding- und Bohr-Bugs.

Quelle: Wikipedia (engl.)

WordPress Cookie Hinweis von Real Cookie Banner