mod_bsp - Brainfuck Server Pages
Webprogrammierung in Brainfuck.
Webprogrammierung in Brainfuck.
Neue JS-Library zum zeichnen und animieren von Vektor-Grafiken. Basiert auf SVG und VML für den Internet Explorer und funktioniert somit in allen modernen Browsern. Das morphen zwischen zwei Formen find ich besonders klasse.
Firefox 3 ist extrem lahm beim verlassen einer Seite, wenn man jQuery benutzt und sehr viele (>1000) Elemente an Events bindet.
Beispiel. 5000 divs, dann:
$("div").hover(function() {
$(this).addClass('highlight');
},
function() {
$(this).removeClass('highlight');
})
Seite läd, funktioniert, man klickt auf nen Link zu ner anderen Seite, wartet ein wenig und...
Stellte sich heraus, dass jQuery beim verlassen der Seite die Eventbindungen aller Elemente entfernt. Genau daran bricht Firefox aber verzweifelt zusammen.
Der Code dafür liegt in jquery-1.3.2.js von Zeile 3106 bis 3111 und verhindert anscheinend Speicherleaks im IE und mouseover-Fehler beim neuladen:
// Prevent memory leaks in IE
// And prevent errors on refresh with events like mouseover in other browsers
// Window isn't included so as not to unbind existing unload events
jQuery( window ).bind( 'unload', function(){
for ( var id in jQuery.cache )
// Skip the window
if ( id != 1 && jQuery.cache[ id ].handle )
jQuery.event.remove( jQuery.cache[ id ].handle.elem );
});
In jquery-1.3.2.min.js:
o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});
Ich hab ihn mal rausgeworfen, wodurch FF die Seite wieder schnell verlässt ohne zu hängen.
Bis jetzt hab ich keine mysteriösen Fehler beim refresh entdeckt. Auch Speicherleaks sind keine große Verschlimmerung der browser-experience für IE-Nutzer...
Freie Fonts, die man legal mit @font-face in seine Seite einbinden kann (im Moment nur in Safari/WebKit und Firefox 3.5).
Wer noch auf den IE 6 angewiesen ist kann ihm immerhin mit ie7-js ein paar Bugs ausprügeln und ihn mit ExCanvas sogar zu ein wenig canvas überreden. Der IE6 CSS Fixer baut derweil automatisch IE6-Hacks ins CSS ein, ist aber noch experimentell.
Wenn schon eine GUI, dann doch bitte eine die nicht komplizierter ist als das HTML per Hand zu schreiben /:>
Ich frag mich, welche Gründe es gibt Typo3 zu benutzen. Für kleine einfache Seiten gibt es einfachere CMS und für größere Seiten mit speziellen Anforderungen gibt es Frameworks mit denen man diese ohne Overhead bauen kann.
Jedes CMS, das Lehrgänge braucht, hat sein Ziel verfehlt.
via Ludwig
Kleine Notiz für mich, da ich das immer vergesse und es auch nicht auf Ultraviolets Website steht:
actionscript, active4d, active4d_html, active4d_ini, active4d_library, ada, antlr, apache, applescript, asp, asp_vb.net, bibtex, blog_html, blog_markdown, blog_text, blog_textile, build, bulletin_board, c++, c, cake, camlp4, cm, coldfusion, context_free, cs, css, css_experimental, csv, d, diff, dokuwiki, dot, doxygen, dylan, eiffel, erlang, f-script, fortran, fxscript, greasemonkey, gri, groovy, gtd, gtdalt, haml, haskell, html-asp, html, html_django, html_for_asp.net, html_mason, html_rails, html_tcl, icalendar, inform, ini, installer_distribution_script, io, java, javaproperties, javascript, javascript+prototype, javascript+prototype_bracketed, jquery_javascript, json, languagedefinition, latex, latex_beamer, latex_log, latex_memoir, lexflex, lighttpd, lilypond, lisp, literate_haskell, logo, logtalk, lua, m, macports_portfile, mail, makefile, man, markdown, mediawiki, mel, mips, mod_perl, modula-3, moinmoin, mootools, movable_type, multimarkdown, objective-c++, objective-c, ocaml, ocamllex, ocamlyacc, opengl, pascal, perl, php, plain_text, pmwiki, postscript, processing, prolog, property_list, python, python_django, qmake_project, qt_c++, quake3_config, r, r_console, ragel, rd_r_documentation, regexp, regular_expressions_oniguruma, regular_expressions_python, release_notes, remind, restructuredtext, rez, ruby, ruby_experimental, ruby_on_rails, s5, scheme, scilab, setext, shell-unix-generic, slate, smarty, sql, sql_rails, ssh-config, standard_ml, strings_file, subversion_commit_message, sweave, swig, tcl, template_toolkit, tex, tex_math, textile, tsv, twiki, txt2tags, vectorscript, xhtml_1.0, xml, xml_strict, xsl, yaml, yui_javascript
Das sind die verfügbaren Syntaxen in Ultraviolet. Erzeugt hiermit:
require 'rubygems'
require 'uv'
File.open('/Users/rob/Desktop/syntaxes.txt', 'w') {|f| f.write(Uv.syntaxes.join(', '))}
Ultraviolet ist eine klasse Library zum highlighten von Syntax. Benutz ich zusammen mit tm_syntax_highlighting für die schicken Codeboxen hier im Blag. tm_syntax_highlighting wiederum liest die Farbdefinitionen von TextMate aus, wodurch der Code hier genauso chique aussieht wie in meinem Lieblingseditor. Har!