Kommentare
to automatically rename the files you can use conmv as described here http://arjuna.deltoso.net/articles/subversion-messy-encoding-valid-utf-8-data-followed-by-invalid-utf-8-sequence/
cheers,
Mark
War für mich das Logischste, denn ich errechne ja "nur" eine Beschleunigung, noch keine Kraft. Das hat keine Auswirkungen so lange die Masse des zu bewegenden Objektes 1 ist.
Wegen dem Rand: Die Kollisionserkennung kommt noch :)
Übrigens hast du coole Interessen.
Hallo Bernhard.
Danke für die Antwort. Bin durch Ausprobieren noch selber drauf gekommen. Ich hab vergessen das Drehmoment durch den Trägheitstensor zur teilen um an die Beschleunigung zu kommen, mit der ich die Restkraft errechnen kann. Meine Implementation sieht jetzt recht realistisch aus:
http://teamblog.tyclipso.net/bDetail/b/Von-Drehmoment-Translations-und-Rotationskraft-1327
Hi M:ke,
Von deiner wirkenden Kraft (im Video grün) kannst du den Teil, der senkrecht zur Wirkungslinie(=Gerade durch Schwerpunkt und Angriffspunkt) ist, als Drehkraftvektor (orange) nehmen. Wenn du diesen ins Kreuzprodukt einsetzt kommt für das Drehmoment das selbe raus. Du kannst diesen Teil z.B. mit der sog. senkrechten Projektion berechnen.
Diesen Drehkraftvektor subtrahierst du dann vom Ausgangs-Kraftvektor und erhältst somit die Translationskomponente (grau), also den Teil parallel zur Wirkungslinie. Diese kannst du dann wie eine Kraft, die am Schwerpunkt angreift behandeln.
Geometrisch gesehen bilden Rotations- und Translationskomponente ein rechtwinkliges Kräfteparallelogramm dessen Diagonale die ursprüngliche Kraft ist und dessen Seiten parallel und senkrecht zur Wirkungslinie sind.
very cool, thx! btw, one can hack this together nicely with the "share on tumblr"-marklet ;-]
Hallo.
Dass die einwirkende Kraft in Rotation und Translation aufgeteilt werden muss verstehe ich. ABer wie kommt man auf die Komponenten? Bei Wikipedia und einigen Büchern steht nur, dass das Drehmoment das Kreuzprodukt aus Drehkraftvektor und Abstandsvektor ist. Aber wie erhalte ich nun die Translationskomponente? Ich kann doch nicht das Drehmoment vom Drehkraftvektor abziehen.
Nein. ;)
Das von Ubuntu verwendete "vino" gibt es auch in der Gnome-Version von OpenSUSE. Auch unter KDE4 gibt es ein GUI namens "krfb". Die GUI-Verwaltung ist somit nichts Ubuntu-Spezifisches.
Siehe auch: Informationen zu VNC unter Ubuntu http://wiki.ubuntuusers.de/VNC
Allerdings ist hier "komplett" nicht ganz richtig: Die Konfiguration der Firewall und des Routers muss zusätzlich vorgenommen werden.
Hier setzt die, in diesem Blogeintrag gezeigte, sichere & einfache Alternative ein: Den VNC-Traffic mit SSH zu tunneln. Auch dafür haben GUI-Fans mindestens einen Gnome- und einen KDE SSH Tunnel Manager geschrieben.
Jedoch sind viele Linux-User ohnehin Kommandozeilen-erprobt, das zeigt z.B. der - zugegeben etwas ironische - Kommentar von Chris oben. Diesen ergeht es wohl ähnlich wie mir: Das Installieren und Durschauen solcher GUIs wird nicht als einfacher empfunden. Lieber arbeitet man mit bekannten CLI-Methoden. Sogar im oben verlinkten Wiki-Artikel von ubuntuusers.de wird der Prozess mit SSH usw. ohne Verwendung von GUIs beschrieben.
This is just a simple provocative statement though, could you prove that or give examples? Do you have any reliable sources? I'm always interested.
It's not fair to say git has less features than hg, and that's comming from a hg user.
And yes, DVCS are probably better then non-distributed VCS after all.
Geht unter Ubuntu viel einfacher, weil es komplett über die GUI verwaltet werden kann.
SUPER, DANKE! :D
Das hab ich gebraucht. Bin gerade nicht mehr so oft im Netz von dem her, sorry dass ich den Beitrag erst jetzt lese aber hilft mir wirklich sehr! Weiter so.
Morgen setz ich mich dran :D
Ich überlege gerade, wie ich Processing gelernt habe...
Ich glaube, ich habe im "offiziellen" Lernbereich (http://processing.org/learning/) zunächst das Getting Started durchgemacht. Danach kann man noch die Tutorials zu Color usw. kurz überfliegen, Trigonometrie und Vektoren kann man sich wohl fast sparen, dabei es kommt auch sehr darauf an, wie sehr man mit diesen Grundlagen von Anderem vertraut ist.
Es ist sicher hilfreich, wenn man schon ein bisschen in Java reingeschnuppert hat, dann kennt man die Kontrollstrukturen (Wenndann, Schleifen usw.) grob; Man muss dann beachten, dass Processing vieles vereinfacht. Zu dem Thema findet man unter "Control" in der API-Doc (http://processing.org/reference/) manches. Man kann natürlich auch rumprobieren...
Mit dem Basiswissen habe ich dann ein paar rudimentäre Spielereien gemacht.
Wenn man dann etwas in den grundlegenden Konzepten drinnen ist (z.B. was macht draw() usw.), sind die mitgelieferten Beispiele wirklich sehr praktisch, da lernt man die Möglichkeiten sehr gut kennen und das Wissen wird vertieft. Außerdem klären sich einige übliche Einstiegsfragen ala "Wie macht man eigentlich ...?". Bei interessanterem sollte man durchaus den Code genau lesen und verstehen. Ich habe dann immer schon die Beispiele leicht modifiziert, um zu sehen, ob auch alles so funktioniert, wie ich denke.
Ausgehend von den Beispiel-Sketches kann man dann die ersten eigenen Ideen verwirklichen.
Wenn man dann weiter macht, schaut man halt immer in der API-Doc (http://processing.org/reference/) nach den Funktionen, die heißen eigentlich immer so, dass man sie auch findet.
Ich sehe gerade ich habe am 20. Mai 2009 (Oh, bald Jahrestag) meine ersten paar Versuche gemacht, und die Sachen aus dem ersten Blogeintrag zum Thema (http://bernhardhaeussner.de/blog/65_Processing%3A_3D-Koch-Kurve_mit_Sierpinski-Dreieck) sind in mehreren Stunden am 21. entstanden. Tja und vieles andere, das ich bisher mit Processing gemacht habe, ist dann in den Tagen darauf entstanden. Also man kann wirklich schnell interessante Dinge machen.
Jetzt der Physik-Kram war natürlich ein bisschen aufwändiger, und man kann auch alles perfektionieren... HTH
Also soweit werde ich sicher nie kommen :-/ aber dennoch: Kennst du vielleicht ein gutes Processing Tutorial? Ich weiß dass bei Processing einiges an Beispielen dabei ist aber ich glaub das reicht mir fast nicht ;)
Wow, sieht wirklich geil aus :D
Jetzt wird es dann aber wirklich Zeit dass ich mich mal näher mit Processing beschäftige! Danke für die Inspiration.
Ich muss mir mal deine neuen Beiträge hier im Blog ansehen, hatte die letzten Wochen nicht viel Zeit...
Super HowTo. Unter allen die man im Web zum Thema findet das erste dass bei mir funktioniert hat (Dank des Tipps mit der config Datei im conf.d Verzeichnis der in anderen Howtos irgendwie fehlt)
Vielen Dank
Ich bin jetzt von amazon zu www.easycdn.net gewechselt und muss sagen ein super CDN mit einem super Support (Deutsche APs)
I didn't really test VCSs excessively (well, i would probably have written about that instead...) but I read about Mercurial and Git too. Both don't have as much community and (in case of Git) documentation available as SVN. And I'm using Trac, which uses SVN natively.
Any direct comparisons between SVN and Git pointed out that Git is distributed. With SVN you don't have a copy of the repo on your machine, but you just commit to the central repository (or a branch). That should work across multiple machines nicely. You don't have to manage your very own repo. Working offline may be a bit painful, you could still merge your code afterwards. But I'm not really working offline. So "distributed" just adds complexity, doesn't it?
If you'd want to go distributed, Git is not as CVS-compatible as hg (and svn of course), but has on the other hand less features than hg, which is distributed too (cf. http://better-scm.berlios.de/comparison/comparison.html). So I'd rather use hg.
Of course SVN for "everything" is a bit to much, looking at existing projects like go with hg, and the code on Github.
If I'd ever change my mind there's still git-svn so let's see how SVN is doing.
Did you evaluate other version control systems before you wanted to use svn for everything?
In case you're not yet fully set, let me propose using git: A git'ed project always has its repository with it, so working over multiple machines is less of a hassle—and it allows for far better merging than other SCMs.
Would you share your script? I would love to use this locally.
Regards,
Sully
Regex hassen? Ist zwar fast so esoterisch wie Altgriechisch aber nicht minder nützlich ;)
Zugegeben, die Javascript-Funktionen dazu sind etwas kompliziert, aber an sich kann man mit Regexps sehr komfortabel mit Zeichenketten arbeiten.
Manchmal vermisse ich in Ruby die ganzen leicht hässlichen aber einfachen PHP-Helferlein zu strings. Mit regulären Ausdrücken jedoch lässt sich in (fast) jeder Programmiersprache einiges machen. Sich zumindest daran zu gewöhnen lohnt sich also sehr wahrscheinlich.
Hier ist eine praktische Übersicht/Kurzeinführung: http://de.autohotkey.com/docs/misc/RegEx-QuickRef.htm
Ich hab immer einen VNC-Listener laufen, damit ich Fernwartung per Single-Click-Programm bei Kunden machen kann. Die haben nämlich unterschiedliche Betriebssysteme und SSH geht manchmal auch nicht durch die Firewall.
Jetzt weiß ich wieder, warum ich Regex's hasse. Aber danke für den Überblick!
Werde mich da mal weiter einlesen müssen. Ich verschieb das immer wieder, aber der Artikel hat mich ein wenig motiviert :)
Da hast du dir ja richtig Mühe gegeben!
Allerdings fehlt für mich noch eine wichtige Spielart der Seitenanzeige: die Drop-Down-Navigation und/oder die Textnavigation.
Es ist eben doch eher eine kleine Spielerei bzw. ein Proof of Concept. Ich habe schon geplant, einen ernsthafteren Editor für solche Figuren zu erstellen, vielleicht mit Bézierkurven usw., aber das braucht eben gleich mehr Zeit.
Zurücksetzen lässt sich übrigens mit neu laden (F5) und wenn man die Dimensionen des Browserfensters ändert.
Hast du gut umgesetzt. Macht richtig Spaß. Wenn du einen "Reset" Button hinzufügen würdest und es möglich wär die Punkte zu Linien zu verbunden ohne dass sie ausbleichen, könnte man damit ganz gut z.B. Logos generieren und durch einen Screenshot abspeichern.
Oh, und es gibt noch "Fyre", mit dem sich Kosinus-Verschiebungen à la Peter de Jong machen lassen.
Danke.
Sieht ganz so aus, als würde xmpp4r etwas mehr Arbeit abnehmen (VCards usw.). Ich habe zwar eben nur kurz die Dokumentation von SMACK überflogen, die einfacheren Dinge scheinen aber (so weit eben möglich) sehr gleich. Kannst dir ja die Beispiele ansehen: http://github.com/ln/xmpp4r/tree/master/data/doc/xmpp4r/examples
Guter Beitrag! Ich verlink das mal. :) Ergänzt sich ja wundervoll.
Mit Ruby hatte ich noch nicht so viel zutun aber sieht so aus als wäre die API von xmpp4r etwas komplexer als die von SMACK. Kann aber auch daran liegen dass ich Ruby noch nicht wirklich durchblick ^^
Ah! Super Beitrag! Sag doch gleich dass du was zu dem Thema geschrieben hast. Ich verlink das mal bei meinem SpeedCrunch-Beitrag :D
Grüße
Jupp, funktioniert. Einfach die "AddHandler php53-cgi .php"-Direktive zwischen den <VirtualHost>-Blocks der VHosts einfügen, für die du PHP5.3 aktivieren willst.
Hallo, vielen Dank für das Tutorial. Lässt sich der Apache so konfigurieren, das nur bestimmte VHosts direkt über PHP 5.3 laufen (mit der Endung .php), während andere über PHP 5.2.x laufen? (Quasi vhost-gesteuert, anstatt über die Endung)
Unter dem ersten Screenshot habe ich bemerkt, das das UI ungewöhnlich ist, das impliziert nichts negatives.
Lass mich das an einem Beispiel verdeutlichen: Das Verhalten beim Öffnen eines neuen Tabs ist sehr ähnlich zu Chrome: Es werden Screenshots von Seiten angezeigt, ein Suchfeld, und im Panel unter der Adresszeile gibts Zugriff zum Lesezeichenmenü. Genau dieses Panel öffnet sich aber auch beim Fokussieren der Adresszeile, was die Features auch dort schon recht dezent verfügbar macht. Dies könnte zu Vorteilen gereichen, da man nicht gleich einen neuen Tab öffnen muss, ist aber wesentlich komplizierter und vielschichtiger zu Handhaben als eine kombinierte Screenshot-Liste, wie etwa bei Safari.
Auch die Verschiedenen Vorlauf/Rücklauf/Einloggen-Buttons versuchen zwar der Adressleiste noch etwas meist überflüssigen Platz abzutrotzen, sind aber - ungewöhnlich.
Sehr gefällt mir sogar, wie praktische Metadialoge konsequent in der Sidebar untergebracht sind, während in anderen Browsern meist unzählige Dialoge aufblinken. Auch damit geht Opera einen sehr eigenen Weg.
Und dann ist da noch Unite...
Wie du siehst ist alles konzeptionell geplant und akzeptabel realisiert, aber Opera tickt eben nur ganz anders als die meisten Browser.
Ein bisschen hast du natürlich schon recht, ich finde das neue UI künstlerisch degressiv, da mir die alten Tabs und Buttons, der Mülleimer, und alles besser gefallen hat. Wobei auf der andren Seite das Aufziehen zu Vorschau-Tabs Spaß macht, wenn man noch etwas Platz auf dem Bildschirm hat.
Aber Firefox kann sich mit all den Add-Ons dann doch behaupten. Zu schade ;)
Ich habe meinen ChromePlus Browser nicht wirklich angepasst. Lediglich AdBlock+ hab ich hinzugefügt und das äußert sich nur in einem kleinen Button links vom "aktuelle Seite bearbeiten" Button in der Navigationsleiste.
Was auffällt ist, dass du nicht wirklich gut auf das Opera Design zu sprechen bist oder? :D
Ich finde es gar nicht sooo schlecht. Erwähnenswert ist auch (das hat jetzt aber nichts mehr mit dem Beitrag ansich zutun) dass Opera wirklich sehr durchdacht ist. Vom Add-On System abgesehen, würde ich Opera auf jeden Fall Firefox vorziehen.
Praktische Übersicht. Allerdings steht nur Apophysis (auch schon länger) auf meiner Todo-Liste.
Für Mandelbrot-ähnliche Fraktale kann ich auch XaoS empfehlen.
Hmm, interessant. Ich hab auch über Fraktale - im Zusammenhang mit Software - geschrieben. Vielleicht passt das hier ganz gut dazu:
http://david-strohmayer.net/?p=439
Grüße,
David
Genau das habe ich bisher auch gedacht!
Aber denn hatte ich das torrent-GUI am laufen (wie man im Screenshot sieht), und keine Lust ständig zum Server zu rennen. Und torrent mit ncurses muss ja auch nicht gerade sein; Blender ist auch recht nervig über die CLI.
Für die Alltagsdinge hingegen ist ssh immer noch schneller.
newer version here:
http://bernhardhaeussner.de/blog/77_Twitter_Bookmarklet_III
(right?)
Klar einfach die scrTo() Funktionsaufrufe mit throw true; ersetzten und am Ende ein throw false; Dann müsstes du mit
try {
$("bla").intoViewport()
} catch (e) {
if (e) {
// außerhalb
} else {
// innerhalb
}
}
Also das wäre dann die "some" Variante. Kann man sicher noch ein bisschen perfektionieren (Exceptions sind auch nicht unbedingt für so etwas gedacht). Die ganzen Tests, ob das Element nun im Viewport ist, findest du ja im Code des Plugins.
Hi Bernhard,
das plugin sieht super aus und ich werde es wahrscheinlich für ein aktuelles Projekt nutzen. Besten Dank!
Mein Plan ist, den Benutzer auf Fehlermeldungen außerhalb des Viewports hinzuweisen. Ungefähr so wie bei Gmail, die im Webinterface einen Hinweis unten rechts einblenden, wenn weitere Mails außerhalb des Bildes sind. Dazu bräuchte ich eine oder besser zwei weitere Funktionen, welche einen boolean zurückgeben wenn mindestens ein (someOutsideViewport) oder alle (allOutsideViewport) selektierten Elemente außerhalb des aktuellen Views sind.
Da Du bereits die Entfernung für das scrollen ausrechnest müsste das einfach zu ergänzen sein, oder?
Gruß,
Tim
Nice work Bernhard!
I guess you have seen that WordPress.com just announced (http://en.blog.wordpress.com/2009/08/14/shorten/) that rel=shortlink (http://purl.org/net/shortlink) has been rolled out to their 7 million+ blogs!
Time to start pushing the client developers to add support for it...
Sam
Unglücklicherweise hat der Tacho im Winter den Geist aufgegeben, weshalb er wohl auch am 5.9. nichts mehr anzeigen wird.
Ja, in der Tat: keine Durchreise! Ich habe ihn heute noch einmal im Rennweg gesehen, und ich konnte mit dem Fahrrad von hinten so nahe an das Heck heran fahren, so dass ich sehen konnte, dass hinten auf der Kofferraum-Abdeckung das Google-Logo liegt. Und ich habe natürlich schön in die Kamera(s) - fast auf ihrer Augenhöhe - gegrinst, und hoffe jetzt auf ein kostenloses Passfoto...
Hab den Astra heute früh im Landkreis Wü gesichtet.
Also nix mit Durchreise ;)
Du hast Recht - ein nachträgliches Senden von headern ist unmöglich. Doch ein vorheriges Abfragen der Post-ID muss eigentlich auch vor den headern möglich sein, schließlich wird die ID ja auch im Plugin verwendet - einer der Gründe, dass du das Plugin einfach um die Funktionalität Benutzerdefinierter Kurzadressen vermindern kannst und damit den Extra-Wert in der Tabelle verhinderst.
Sieh dir unbedingt diesen Code an: http://toscho.de/2009/shortlinks-in-wordpress/ er verhindert effektiv das Auftreten von 404s indem es die normalen ?p=### URLs verwendet, die auch nach Suchmaschinen-freundlicher Änderung der URLs noch als Kurzlink funktionieren und weiterleiten.
Du musst jetzt eigentlich nur noch beides Kombinieren.
(Leider lässt sich mit der Methode natürlich kein Link in den Header eingefügt, weil die ID nur innerhalb des Wordpress-Loop abgefragt werden kann. Das perfekte Plugin ist noch zu finden, oder zu schreiben, oder zu kombinieren).
Vielen Dank für die weiteren Informationen. Das Shortlink Plugin funktioniert leider nicht auf Anhieb (fügt zwar den Code in den Header ein, aber wenn man diese URL dann eingibt kommt ein 404).
Außerdem gibt es verschiedene weitere Plugins, die sich um die Erstellung der Links kümmern, mit einer ganzen Bandbreite an verschiedenen Funktionen, teilweise wird ein extra shortlink-Wert in der Tabelle angelegt, was im WP-Kontext mir als eine ganz schlechte Lösung erscheint, denn jeder Beitrag hat ja schon eine eindeutige ID.
Die kürzeste Lösung, die ich bis jetzt gefunden habe funktioniert nur, wenn der Blog die URL-Form http://example.com/ID/name benutzt, dann funktioniert nämlich auch automatisch http://example.com/ID. Auf mjusique.com (noch im Aufbau) sieht das dann so aus:
<?php bloginfo('url'); echo('/'); the_ID(); ?>
Dieser Code ersetzt einfach die "Trackback URL", zu sehen z.B. auf http://mjusique.com/141
[Anm. d. Red.: Kommentar leicht editiert, damit auf example.com verlinkt wird, <> dargestellt werden und R-Fehler. ]
Ich habe auch noch eine Lösung ohne Plugin gefunden und sie in den Post gestellt.
Außerdem findet man jetzt im meta-Bereich unter jedem Blogeintrag einen Kurzlink mit twitter-Funktion.
In der Tat - ein Wordpress-Plugin nimmt dir schon mal viel Arbeit ab. Die kurz-URL auch sichtbar in die Seite einzufügen ist eine sehr gute Idee und man kann, wenn das Plugin installiert ist, mit wenigen Zeilen im Template einen entsprechenden Link/Button platzieren. Zugegeben, ich bin nicht gerade Wordpress-Spezialist, aber ich konnte eine ansehnliche Lösung finden. Ich habe den Post entsprechend geupdated. (Mit anderen Plugins oder Eigenlösungen sollte es ähnlich klappen. )
Sehr schöner Lösungsansatz, danke schonmal für die Codeschnipsel.
Aber ein Problem habe ich noch mit dieser Lösung: Wer das Bookmarklet nicht hat, sieht die Kurz-URL nicht… (Außer man schaut mal schnell im Quelltext nach, ist mit Firebug ja kein Problem. Würde ich ich aber nicht unter "Usabilty" verbuchen ;)
Da ich für ein eigenes Projekt gerade eine ähnliche Umsetzung plane, bin ich in der Meinung, das entweder der Permalink der Überschrift auf die Kurz-URL zeigen sollte oder z.B. unter dem Artikel ein Hinweis steht "Dieser Beitrag kann auch verlinkt werden unter: http://1-co.de/b/14".
Da ich Wordpress einsetze, sollte man das mit einem Plugin lösen können, aber fällt dir aufbauend auf deinem Ansatz vielleicht ein eleganterer, allgemeingültiger Weg ein?
Ich habe den Code von der Spirale online gestellt und etwas kommentiert.
Der vom "pelo" ist etwas länger und auch nicht viel anders als ein normales Partikelsystem, nur dass die Partikel nicht animiert sind, sondern ihre Flugbahn einmal berechnet wird und ihre Positionen gespeichert werden. Dann werden an den gespeicherten Positionen eben Linien-Ringe gerendert.
Ein 08/15 Processing-Partikelsystem, das meinem mal mehr - mal weniger ähnelt gibt es als Tutorial mit dokumentiertem (und aufgeräumten) Sourcecode hier http://processing.org/learning/topics/multipleparticlesystems.html
Ich denke damit lässt sich weit mehr anfangen.
Ich glaube ein paar codebeispiele aus processing wären ganz interessant =)
Ja, ist mit HTML5 mehr oder weniger der Standard für Rich-Text/WYSIWYG editieren, doch es wird auch schon akzeptabel gut unterstützt von einigen vor-HTML5 Browsern: http://www.quirksmode.org/dom/execCommand.html
Mit document.execCommand lassen sich die Javascript-Teile traffic- und Zeitsparend realisieren.
das mit contenteditable="true" hab ich noch gar nicht gekannt... ist ja witzig, nur ist das auch sinnvoll?
Rechtschreibfehler in der Überschrift... scho peinlich :P
Mhm ok, ich hab extra, bevor ich rummaule, nochmal meinen Feed aktualisiert und habe dann wohl 26 Sekunden zum Verfassen und Absenden gebraucht xD
Weil dein Kommentar 26 Sekunden nach dem Release für Feedreader gepostet wurde denke ich.
Gute Idee solchen Mist auszublenden! Aber wieso krieg ich diesen neuen Blogeintrag nicht in meinem Feedreader gemeldet?
Very cool. Added it to www.bmlet.com - a bookmarklet search engine.
Safari 4 ist echt nich schlecht, hab mir überlegt zu wechseln, aber ist auch nicht Linux-Kompatibel.
Die fehlende Menüleiste sorgt zumindest beim IE dafür, dass neben der Tab-Leiste einige Icons erscheinen... was dadurch irgendwie nicht wirklich einen Nutzen bringt.
Gut, Google Chrome schafft es irgendwie mit 2 Icons auszukommen.
Bei Firefox kann man sich das mit Add-Ons so einstellen, dass man einen guten Kompromiss findet und Funktionen, die man sowieso nie braucht einfach weg lässt. (Bzw. temporär hinkunfigurieren kann. )
Beim Arbeiten am Mac allerdings muss ich mich wirklich an die gemeinsame Menüleiste gewöhnen. Man klickt auf Ablage aber es kommt immer ein anderes Menü. Dann merkt man plötzlich, dass man noch irgendwo ein anderes Programm angeklickt hat... gerade bei einem 30" muss man dann doch ständig über den ganzen Bildschirm wandern, wenn man mal einen Shortcut vergessen hat?
Ich habe mir heute die Safari 4 Beta installiert — das rockt.
Die Tabs in der Titelzeile sind zwar wie bei Chrome auch schon etwas gewöhnungsbedürftig, aber das Konzept macht Sinn — und ich bin nach einem Tag schon fast darüber hinweg, das strange zu finden ;-)
Keine Menüleiste im Fenster — ein Punkt, der mir auf dem Mac auch schon immer gefiel. Überhaupt keine Menüleiste zu haben, stelle ich mir kompliziert vor bzw. sorgt bei gleichem Funktionsumfang wahrscheinlich für eine überstrapazierte Buttonsammlung im Interface. Aber wenn man die Menüleiste vom Fenster entkoppelt und wie unter OS X an den oberen Bildschirmrand legt, sieht das ganze schon viel aufgeräumter aus und stört nicht. Ist natürlich besonders wichtig, wenn man seine Fenster nicht im Fullscreenmodus nutzt ;-)
Fazit: Im Augenblick Safari 4 Beta „plain vanilla“. Keine Anpassungen. Mit Safari 3 hatte ich immer noch „Glims“ und „Inquisitor“ installiert, um Suchfunktion und andere Kleinigkeiten zu pimpen.
Also um sich vor Sniffern im eigenen Netzwerk zu schützen, könnte man vielleicht auch Skype benutzen. Da wissen nicht so viele Leute, wie man um die Verschlüsselung herum kommt. Denn eine "sichere" SSL-Verbindung ist gegen Sniffer im eigenen Netzwerk auch anfällig: Es kommt vielleicht eine Fehlermeldung von wegen ungültiges Zertifikat oder so, aber das wird doch meistens weg geklickt und die Verbindung wird vom "Man-In-The-Middle" mitgehört.
Skype hat auch den Vorteil von einfachem P2P-Filesharing.
Allerdings ist man dann eben nicht mehr vom Provider unabhängig und XMPP ist wie SSL ein offenes Protokoll und man kann sich eigentlich sicher sein, dass SSL auch verschlüsselt, während man bei Skype eigentlich keine Garantie hat, dass alles sicher ist...
Ja als ich gelesen habe, dass die 5D in HD aufnimmt konnte ich es kaum glauben. Erst können digitale Spiegelreflexkameras auch "live view" und dann machen sie auch noch den Filmkameras Konkurrenz. Besonders eindrucksvoll finde ich dieses Video (mit einer 5D mkII aufgenommen, die Objektive lassen sehr interssantere Aufnahmen zu):
http://www.vimeo.com/2581629
Vimeo ist spitze — dort findet man mit einem relativ schlichten Interface, was man auf Youtube, leider einer der Internetmüllhalden schlechthin, vergeblich sucht.
Mir fehlt zum Produzieren nur z.B. eine Canon EOS 5D Mark III — eine 20 Megapixel DSLR, die auch HD-Filme aufnehmen kann. Durch die Objektive bieten sich einem allerdings wesentlich mehr Möglichkeiten als mit einem üblichen Camcorder, ich finde zum Beispiel sehr schön, dass man mit einer vernünftigen Tiefenunschärfe arbeiten kann — was für mich auch gute Fotos häufig ausmacht. Allerdings kostet das gute Stück auch seine 2500€, das will erstmal verdient sein :-(
Schon allein durch die Unabhängigkeit von bestimmten Providern wie AOL (AIM/ICQ), Yahoo! (Y!M) oder MSN ist XMPP als Chatprotokoll nur zu empfehlen — darüber hinaus habe ich auch bisher nur bei XMPP die Möglichkeit gesehen, sich über eine SSL-/TLS-Verbindung und damit verschlüsselt am Server anzumelden.
So ist schon ohne GPG die Verbindung mindestens bis zum Server verschlüsselt und für Sniffer im eigenen Netzwerk schonmal unsichtbar — und das ganze funktioniert auch für Transports, also via XMPP genutztes ICQ etc.
Add GPG to it — perfekt. :-)
Ich setze für Downloads u.ä. mittlerweile teilweise Amazons CloudFront ein — ein CDN auf der Basis des S3 Services.
Bei Projekten deren Server nicht im „Zielgebiet“ sondern beispielsweise in Übersee stehen oder auch internationalen Projekten ist das sehr praktisch — schnellere Responsezeiten und Downloads durch die weltweit angesiedelten Amazon-Rechenzentren sind die Folge, und bezahlbar bleibt das Ganze durch eine sehr günstige und transparente Preisstruktur auch. :-)
Also ich wette, dass keiner darauf kommt, wie wir zu diesen lustigen Bildchen gekommen sind. Das ist auch einfach zu absurd :P
2. Problem war dass die Datenbank unter latin1 lief und Zeichen die da nicht enthalten sind, z.B. 文字 also überhaupt nicht übertragen werden konnten und immer zu ?? wurden. Jetzt sollte es aber funktionieren.
Ah, ok 1. Problem ist, dass PHP mit der Datenbank in ASCII kommuniziert, d.h. äöü gehen zwar, weil sie eine ISO-8859-1-Entsprechung haben, aber die schönen Anführungszeichen wie ” nicht.
Das habe ich jetzt geändert, nur in der Datenbank muss wohl auch noch einiges Umgestellt werden um richtige Spezial-Buchstaben zu ermöglichen.
Jetzt funktioniert es ? das Problem mit den Anführungszeichen ?? bzw. ?? ist mir noch gar nicht aufgefallen. Zollzeichen " funktioniert offenbar auch ohne weiteres, hier noch einige Dashes: - ? ?
So, das wars ;-)
Also das mit dem doppelten Senden lag wohl an einer langsamen Verbindung. Ich habe es jetzt so geändert, dass das Formular-Senden gesperrt ist, bis der Kommentar hinzugefügt ist und etwas verblasst, sodass man sieht, dass es noch sendet.
Eigentlich müsste alles ohne JS klappen. (Bis auf die Multi-Tag-Auswahl bei den RSS-Feeds. )
Ehrlich gesagt ist mir das ein Rätsel, was dein Feedreader da macht... Wenn JS an ist, dürfte eine Box erscheinen, dass ein Kommentar gepostet wurde, wenn JS aus ist, bleibt das Formular herkömmlich und die Seite wird neu geladen etc. möglicherweise sendet dein Feedreader Formulare im Hintergrund ab?
PS: Test: "
Oh, und auf Rückmeldung an den Nutzer achten und evtl. Formularelemente wie Submit-Buttons sperren.
Meinen obigen Kommentar habe ich in meinem Feedreader geschrieben und zweimal auf ?Kommentar abschicken? geklickt, nachdem ich kein visuelles Feedback bekommen habe.
Bei AJAX-Einsatz einfach immer an Nutzer ohne JavaScript denken ? Stichwort ?Progressive Enhancement?: Erst schlicht im ?alten? Stil entwickeln, AJAX-Magic dann als weitere Schicht aufsetzen. So ist im Zweifelsfall ein Fallback auf die AJAX-lose Bedienung möglich und das System funktioniert immer.
Ja das wäre dann am 5. September 2009. Nach aktueller Hochrechnung habe ich da 3326 km aber mal sehen...
Hehe ich nochmal,
also ich fahr ja schon immer Schlangenlinien, um mehr Strecke als du hinzubekommen. Und ich rolle immer den Heuchelhofberg runter nur um dann mit der Straba wieder raufzufahren xD
Außerdem habe ich ja auch noch ein zweites Fahrrad, welches ich dann immer neben mir herziehe.
Bin ja mal gespannt, wer von uns beiden exakt ein Jahr nach Erhalt deines Fahrrads mehr Kilometer auf dem Tacho hat...
Hey,
ich wollte einfach mal nen Kommentar hinterlassen und dir danken, weil ich jetzt meine Attentatspläne abhör- und ablesesicher verfassen und mit dir austauschen kann :P
gn8 und weiter so
Ok, jetzt gibt es noch eine Seite mit den letzten Kommentaren.
Und dazu auch gleich einen RSS-Feed.
Dann habe ich noch einen kleinen Bug in der Kommentarfuntion behoben, jetzt sollte alles passen.
Also die Suche ist jetzt, wie die Kommentarfunktion mit AJAX ausgestattet. Es geht natürlich auch alles ohne Javascript, nur eben schneller. Die Suche zeigt z.B. gleich die Ergebnisse an und ein Kommentar wird sofort gepostet.
Ging zum Glück alles recht fix mit jQuery und diversen Plugins.
Jetzt fehlt noch Feeds nach Tags und der Spamschutz.
So langsam muss ich bei den Controllern auch mehr Redundanz herausnehmen und Übersichtlichkeit durch Funktionen und Klassen schaffen. Bisher ist das ein großes Durcheinander. Jetzt müsste ich langsam mal mit den Sessions beginnen, denn die Kommentarfunktion klappt und es fehlt noch die Merke-Funktion und der Login...
Nunja, das Löschen war nicht schwerer als der ein oder andere Bugfix. Wie z.B. das intaktbringen der Kommentarfunktion...
Beim Erstellen des CMS habe ich jetzt gemerkt, dass Formulare (wie dieses schlampig erstellte Kommentar-Formular) noch nicht so ausgereift sind. Deshalb habe ich jetzt erstmal eine Formulargrundlage im XMl-Template-Format geschaffen und das Kommentarformular darauf angepasst. Und darauf wird jetzt das CMS aufgebaut. Und die Funktion, dass der Kommentierer seine Daten wieder hier findet könnte so auch leichter werden.
Ok, es war eine schlechte Idee die MySQL-DB auf UTF-8 umstellen zu wollen. Bzw. es ist einfacher die einkommenden Queries und die ausgehenden Werte mit utf8 zu en- bzw. decodieren, sodass man in PHP, XML und (X)HTML stets mit UTF-8 arbeitet, aber in der BD mit dem Standart. Der offizielle MySQL Query Browser hatte auch extrem Probleme mit UTF-8 also habe ich es jetzt in der DB ganz gelassen. Und siehe da: Endlich funktionert alles. Und zwar alles schön da wo es soll. Perfekt. Kuck: äüö߬>
Grr.. gerade eben habe ich festegtellt, dass immer noch nicht alles auf UTF-8 umgestellt war! Dämlicherweise gibt es im Deutschen ja einen Haufen Umlaute usw. und deshalb muss das passen. Naja, ich habe das ganze durch einen Umlaut in einem Tag entdeckt, dass in der Datenank die Felder zwar auf UTF-8 waren, aber noch das alte encoding ausgegeben haben. Sehr blöd. Denn irgendwie gibt mir die MySQL-Datenbank auch nie UTF-8 Werte. In den XMl-Templates habe ich jetzt auch nochmal explizit UTF-8 angegeben. Ich hoffe jetzt mal, dass auch die Eingebe in die Datenbank richtig funktioniert.
So, ich hab es jetz endlich hinbekommen, mein Logo ordentlich in meinem zentrierten Container absolut zu positionieren. Der Trick ist, im Container ein relativ Positioniertes Objekt zu erstellen, das die Position des Bildes hat, und dann das Bild darin absolut mit Nullkoordinaten zu positionieren.
Es gibt zwar die möglichkeit Elemente mit left:50% zu zentrieren und dann mit margin an die richtige Position zu schieben, aber wenn das Browserfenster klein ist, verschwinden diese Elemente.
Die jetzige Methode, wo das Logo stets an seiner Stelle belibt, habe ich hier gefunden, dort ist sie auch genauer dokumentiert:
http://dustyreagan.com/using-css-to-absolute-position-object/
Also das Kommentarsystem ist jetz eigentlich fertig. Fehlt vielleicht noch, dass es sich die Daten merkt. Aber das kommt später. (Dafür brauche ich nämlich erst ne Cookie-Klasse und ich hasse Cookies. )
Die Datenbank, das CMS (deshalb poste ich hier...) und die Pages stehen natürlich noch lange nicht. Ich denke ich werde jetzt als nächstes die Sidebarelemente und die anderen Blog-Seiten entwickeln. Dafür muss ich hauptsächlich SQL-Queries entwickeln, hoffe ich, und ich brauche wohl ein Template um die Blogartikel nur als Links oder mit wenigen Infos anzuzeigen. Da kommt dan vielleicht auch ein bisschen AJAX ins Spiel...
Ok, jetzt dürfte alles klappen:
- Kommentare haben die richtige Zeit, ersetzten Links, Absätze, Permalinks, html-Zeichen machen nichts im Text und im Namen der Person, die Fehlerseite beim auslassen/falsch setzten von Feldern erscheint richtig und die Kommentare lassen sich posten.
Chonologie:
? (5min) Zeitbug gefixt
12:50:47-13:27:53 (37min) Parameterverarbeitung und Überprüfung.
13:27:53-14:28:36 (61min) Herumqualen mit HTML-Entities und Zeichensätzen
? (21min)Testen
21:42:18-21:56:28 (14min) Entwickeln der Fehlermeldungen bei falschen Parametern
? (10min) nl2br und Infrastruktur
? (20min) recherchieren von Hyperlink-Funktion
22:24:47-22:46:57 (22min) Ersetzen von Hyperlinks
? (2min) Anchors für Kommentare
Gesamt: 3h 12min Nur für die Kommentareingabe bzw. kleine Änderungen an der Ausabe. Naja, ich hätte es mir länger vorgestellt.
