Xah Web Dev Blog Archive 2014-10

am going to stop blogging for the next 4 days. Start again on next Monday,

HTML: Allowed Characters in id Attribute (minor update)

HTML Tutorial: Definition List: dl, dt, dd (minor update)

JS: Douglas Crockford the Better Parts: the Bads Parts Reconsidered

[• What's wrong with Angular.js By Daniel Steigerwald. At https://medium.com/este-js-framework/whats-wrong-with-angular-js-97b0a787f903 , Accessed on 2014-10-23 ]

JavaScript Array Speed vs C Array

spambots talking to themselfs

twitter spambots chat 2014-10-16
looks like spam bots mentioning my name are talking to themselfs now, on twitter.

Web Spam, Scam, Blackhat SEO Collection

JS: Property Key "constructor"

New Trend: favspam on Twitter

Google Chrome to Replace Gtk+ with Its Own Aura

old news from

announcement by Elliot Glaysher at https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/Zpu9801pPRc. Quote:

We aim to launch the Aura graphics stack on Linux in M35. Aura is a cross-platform graphics system, and the Aura frontend will replace the current GTK+ frontend.

discussion on reddit http://www.reddit.com/r/linux/comments/207zr3/google_to_replace_gtk_with_its_own_aura_in_chrome/

Google Chrome to Kill Plugin

netscape back in 1990s created a plugin API architecture, called NPAPI. That's what allows you to have (Macromedia) Flash, Apple's QuickTime (for video), display MathML, use Java applets, and hundreds of others. Now, Google is killing it, and pulling it out of Google Chrome.

This means, no more Java Applets. By the way, the Flash bundled with Google Chrome isn't using NPAPI.

Google cites security reasons for killing NPAPI.

[• Saying Goodbye to Our Old Friend NPAPI By Google. At http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html , Accessed on 2014-10-11 ]

some discussion on chromium-dev here: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/xEbgvWE7wMk

A new version of my JavaScript Tutorial is out. Much update in past month. Buy at Buy JavaScript in Depth.

If you already bought before, i'll email you update this weekend.

JS: How to Create Object with Parent X? (on its own page)

JS: How to Find Object's Prototype? (on its own page)

What do Microsoft, Apple, Mozilla, say about Dart?

Do Not Use Dart or CoffeeScript

Do not use Dart or CoffeeScript. Just use plain JavaScript. If you must use something fancy, use TypeScript.

Dart is basically JavaScript with Java syntax and semantics. Java is bad. Goole do it because Google can't divorce Java.

CoffeeScript is no good because it's a layer of complexity, with ad-hoc syntax, and benefit isn't big enough. It will never be standard.

TypeScript is acceptable, because it's JavaScript compatible, with benefit of type system (math foundation❕),not hacker whims of idioms and styles and patterns and OOP crud.

Major rewrite of JavaScript basics section. They are separated into their own pages.

JS: How to Write a JQuery Plugin (on its own page)

DOM: Remove HTML Element

how to get max value of a array? JS: Array How-To

JS: Browser Window Object, Document Object Model (updated)

Google Chrome Browser Special URL

browser extension development explained: Google vs Firefox

for Google Chrome, you go to their tutorial, in 20 min, you know how to write one, how to pack it, and have a good overview of the API. Pure JavaScript HTML CSS.

for Firefox, there are meta-guide old and new on mozilla blogs, then there are 3 frameworks, one requires to download a SDK that runs python that it asks you to run its random bin/activate fk bash script with instruction about how to untar a tarball, and one is “bootstrap” fk, and another is XUL fk, each fk has their own introduction page, with one thousand links and jargons and guides and warnings and preface and idioms guides. In 1 hour, u still dunno a thing about it.

randomize a html list

took me 3 hours to write a trivial 15 lines JavaScript code to randomize a list. See result here. Vocabulary: Words in Olympia Reader (view source to see the code)

i blame the besotted nature of the DOOM. NodeList, HTMLCollection, live vs not live, readable vs not readable, whitespace nodes, … truely hell.

but no, i did not subjugate myself to the lure of jQuery.

implemented Fisher-Yates shuffle. JS: Random Range Function