Archive: 2005

Go Glen

This is what Glen Murphy has been working on since he started at Google.

The W3C’s Response to HTML5

So it seems that the W3C are finally realizing that XForms and SVG 1.2 is not going to replace the web. Today they annonced the Web API Working Group which is basically doing exactly what the WHATWG has been doing for more than a year. I really hope that no one is reinventing the wheel ...

Opera 9 Preview

Some highlights/rants of a great product. Improved SVG support Initial DOM support. In 8.5 one could not manipulate the SVG using scripting. Opera now partially supports using CSS with SVG (no :hover support). Canvas Support This is dog slow… they really need to do something about it or remove it entirely. Web Forms 2 Basic ...

Me, a Googler

With the start of October I’ll be working at Google. It has been a long process over last couple of months and I have been looking forward to starting since the first email. Google has hired a lot of really bright people lately and getting a chance to work with some of them is very ...

Free Opera

Opera web browser has broken the chains of ad-ware. The desktop version is now free. Opera is the fastest browser on the earth. It has excellent HTML, XHTML, XML, DOM, CSS, and JS support. It also supports SVG tiny.

Typed Programming

Typed programming can be nice but when you have to write something like this things have gone too far: Microsoft.Msn.Hotmail.SortBy _sortBy = (Microsoft.Msn.Hotmail.SortBy) Enum.Parse(typeof(Microsoft.Msn.Hotmail.SortBy), aSortBy); Compared to a dynamic typed language: var _sortBy = aSortBy;

Atlas Comments

Last night I looked a bit at Atlas and its Quick Start tutorials. With the risk of sounding like I hate Microsoft I’ll write down some thoughts… Atlas is nice. I really like a lot of it. There are tons of things that I don’t like but the initial reaction is that this might end ...

IE7 and XMLHttpRequest

Over at the IE Blog: IE 7 implements a native XMLHTTPRequest object for Javascript applications, instead of requiring an ActiveXObject to be created. This also means XMLHTTPRequest will function on machines that have ActiveX disabled. Thank you Dean.

JavaScript 1.6

With the upcoming release of Firefox 1.5 Mozilla have decided to increase their JavaScript version number to 1.6. There are basically three new features since 1.5: ECMAScript 4 XML Array Extras Array and String generics Array and String generics means that some of the methods that are available on Array.prototype and String.prototype are now also ...

For Each Loop in Mozilla

I’m not entirely sure when Mozilla started to support for each loops but I guess it was part of the E4X code checkins. Anyway, I was totally shocked when I saw it and I fired up a quick test. var o = {a: "A", b: "B", c: "C"}; for each (var v in o) { ...

Fixed Atom 1.0 Feed

When Atom reached 1.0 I updated my Atom 0.3 feed to a 1.0 template I found on the internet. Unfortunately there was a bug in it. I don’t know if it ever worked? I thought it did… well, now I’ve fixed the bug in the given template. While debugging this I managed to delete my ...

Ajax is so 1999

Like you didn’t know that already? Scott Isaacs from back in 1997 has a series going at his blog. Scott is one of the original DHTML guys and he wrote useful stuff when most other people were stuck on animating layers. He is also one of guys behind DOM level 1. Well worth a visit ...

Back

I’m back from my short summer vacation. While on vacation I managed to have my 30th birthday. Life is good…

JScript Object Memory Leak

We all know that the memory leaks in Internet Explorer are horrible. However we’ve found ways (often making beautiful code really ugly) around these issus. My general guideline has always been to make sure that you don’t keep any reference betwen JScript objects and DOM/COM objects (and the other way around) as well as make ...

Stop-Reload-Button in Firefox

One nice little extension I usually install on Firefox is an extension that merges the reload and stop button. It hides the stop button when it is disabled and shows the reload button when the stop button is not available. However, the extension is not compatible with DPA2 or the latest nighlies. After installing and ...

Some Real IE7 News

I guess you all seen and maybe even tried Internet Explorer 7 Beta 1 by now. To me it wasn’t very surprising. Dissapointing? Yes. Well, according to Chris Wilson, the following bugs have already been fixed and we’ll see them in beta 2: HTML 4.01 ABBR tag Improved (though not yet perfect) <object> fallback CSS ...

Screen Readers Suck

There has been some mumbling about accessibiliy and javascript for quite some time now and today I read the following at the DOM Scripting Task Force blog: It’s also all but impossible for some applications, such as Google Maps. In fact, after some preliminary testing our own Derek Featherstone was so dismayed by the state ...

DOM Scripting Task Force

I guess you’ve all seen the DHTML… ehmm… DOM Scriptiping Task Force over at The Web Standards Project by now. It’s about time someone realized that DHTML is not just An outdated scripting technique that is mainly characterized by the changes it makes to the style properties of certain elements, and by the use of ...

JS: The Good, the Bad and the Ugly

An article comparing JScript and VBS got me some ideas about what I think should be added to JS 1.6. Date I like the Date object in JS but it needs a lot of improvements. These following things are really missing: Localized weekday name Localized month name Week start day Week number (localized because it ...

And and Or in JS

The logical and (&&) and the logical or (||) are two really useful operators in JS. The following holds true: a || b results in a if Boolean(a) == true, otherwise b a && b results in b if Boolean(a) == true, otherwise a Using this one can often simplify expression a lot. For example: ...

Live 8 and EU

To me something is really wrong with this world… We have these sharity concerts and what not. At the same time the EU subsidizes the European farmers to produce meat, dairy products, crops and other vegetable products to an absurd extent. The European farmers produce a lot more food than Europe needs and to prevent ...

MSE – Microsoft Script Editor

Microsoft Script Editor is probably one of the lesser known tools that can really make a difference when it comes to developing web applications. MSE is a debugger, much like Visual Studio and it comes bundled with Microsoft Office. It should not be mistaken for Microsoft Script Debugger which is a piece of crap compared ...

DOMParser for IE and Safari

A few days ago Dave over at the WebGraphics blog posted about how to parse a string into a DOM tree for Safari. I commented “How about implementing the DOMParser object in js?” and before I knew it I did it myself and adding IE compatibility on the way: if (typeof DOMParser == "undefined") { ...

XSLT in JS

I know this one is not too new but is still very interesting. Steffen Meschkat has created an XPath, XSLT and DOM engine written in pure javascript. Steffen works for Google and I believe this excellent piece of code was written in his 20 percent time to allow Opera and Safari to work with Google ...

Microsofties Don’t Get It

ClickOnce has already proved itself to be a failure and I’m pretty sure Avalon will not find its place to be on the web. At least Dare Obasanjo seems to get it.

Updated Live Search

I took the time to update the Google Live Search Greasemonkey script a bit to make it a bit more defensive. While I was messing with I also added code to update the links above the search field to go to the search terms that the last result used (instead of the search term the ...

My Daily Startup

Since Foo did it and to prevent the rumours of my death to spread any further I’m gonna do the same thing. These are the programs I usually launch when I start one of my computers: Trillian Pro – sometimes it is nice to pay a little Dear Park alpha or Firefox depending on what ...

Google Live Search

This is a script for Greasemonkey that modifies the Google search page to make the results show up as you type. Steps to install: Install Greasemonkey Once that is done you can right click the following link and select Install User Script…: googlelivesearch.user.js The Details When the user types in the search field the browser ...

Object.prototype is verboten

It is not seldom that you see people messing with Object.prototype. This is very bad because it breaks the object-as-hash-tables feature in javascript. Basically, the following is a very common scenario: var obj = {a: "A", b: "B", c: "C", d: "D"}; for (var key in obj) { doSomething(key, obj[key], obj); } if ("b" in ...

Array Extras

With the upcoming Firefox 1.1 release (and other browsers based on Gecko 1.8) things are starting to move in javascript land. During the early years of javascript a lot happend but then came the ambitious plans ofJS2 and the improvements to js just kind of died away for no reason. It seems Mozilla is finally ...

Visual C# Express Sucks

Visual C# Express 2005 Express Edition Beta 2 is actually a quite nice IDE for developing C# applications. It has a lot of features that make navigating and figuring out the framework a breeze. The reason I think it sucks is the following: I had developed an application for a few hours and to be ...

The List

Emil reminded me of Joel Spolsky’s list of things that cannot be well done in a web application Create a fast drawing program Build a real-time spell checker with wavy red underlines Warn users that they are going to lose their work if they hit the close box of the browser Update a small part ...

Client Side Real Time Spell Checker

I knew Emil was playing around with a real time spell checker written in DHTML and it got me very excited. This is probably a big milestone in our field and now that he let the cat out of the box I cannot express my amazement over the talents that this guy has. See the ...

JS, Encoding and XMLHttpRequest

I run into a quite strange issue today. Basically the problem was that a javascript file was encoded using ISO-8859-1 and contained some weird characters. It worked fine in a plain HTML script tag that included the external file. However it did not work when the file was loaded using an XMLHttpRequest (MSXML has exactly ...

Errors and AJAX

XML.com has an article called Errors and AJAX where they suggest that client side errors should be reported back to the server for logging. This sounds a bit familiar to me. Me and Emil did the same thing back in 1999. I guess it all comes back around sooner or later.

Ecma Script Template Engine

Lately, I’ve been feeling quite creative. I guess I can thank World of Warcraft for that. Or actually the other way around. I got out of my addiction after a week in USA and I decided that I would not touch it again. Lately I’ve been looking at simpler ways to output data received from ...

Copy Cat

I really liked what Forgetfoo did with his Comment Notifier and I was planning to get mine out before he wrote about it but our server was down yesterday due to maintainance. So, I had to wait with the server side implementation until tonight. My solution tries to mimic the popup notifier that MSN Messenger ...

The Musical Baton

This one has gone around the blogs over the last couple of days and since Dean Edwards passed it to me I’m passing this on. Total Volume 18.4 GB – And a lot more on CD Last CD Bought The Beautiful Struggle by Talib Kweli I bought this one in a main stream record store ...

Targetted Spam

No wonder this spam mail got through my spam filters. Good Day, My name is XXX, I’m a writer from XXX, XXX, XXX. I have a 1200 page Dynamic HTML Reference that I am now selling licenses for. The entire reference, with tutorials, is yours for $350.00. The reference can be seen at the below ...

Visiting SF

Tomorrow I’m going to Connecticut to do some work. On Saturday morning I’m going from NY to SF and Monday and Tuesday I’ll be doing more work in Santa Clara. This means that I’ll get some time to do sightseeing in San Francisco. If anyone is up for a cup of coffee, dinner/lunch, a couple ...

playground/tunage

Since I’m now a proud musikCube user I thought I would use one of its nice feature, called Tunage, to display the currently playing song here on my weblog. It sounded fun and most importantly small enough to do in a few hours. I had a pretty clear view of what I wanted in the ...

I Apologize

I apologize for not getting back on emails lately. This weekend I manually filtered my junk mail folder, consisting of about 14 000 emails and found about 200 non spam mails. Unfortunatel I’m almost sure that I missed a few important hams in there so if you sent me an email that I haven’t replied ...

Metro is Totally Gay

I saw the WinHEC keynote speak livel (over the internet of course) last night and when they got to introduce Metro I kept thinking; “What the fuck!” and “Metro is totally gay”. It is so damn obvious that Microsoft is trying to replace PostScript, which does exactly the same thing and has been working, and ...

Firefox 1.0.3.1?

Firefox 1.0.3 was a serious mistake. It basically breaks any application designed to be used with both MSXML and XMLHttpRequest because it breaks the prototype chain on getters for native objects. For example it breaks Sarrissa, Bindows, WebFX’s XML Extras, WebFX’s IE Emu, some code at Forgetfoo’s site as well as a lot of other ...

New Computer

Over the weekend I assembled my new computer. It is an AMD 64 with Windows XP Pro x64 Edition so now the task of finding programs compiled for x64 starts. This time I’m trying to keep away from a few programs that I’ve found annoying over the years. The first task I’m at is to ...

Without the with statement

The with statement is a powerful programming concept that Microsoft added to JScript because it was already in VB and VBScript. It later became part of ECMAScript because one of the major players had it. The with statement allows you to reference fields in an object without prefixing the field. var x = 100; document.body.style.left ...

InnerHTML is Evil

The usage of innerHTML is most likely the most widely spread non standardized DOM feature available today. It was introcuded in IE4 back in 98. Setting innerHTML parses the string as HTML and replaces the content of the element with the nodes generated by that HTML string. Very useful indeed. But like most things, innerHTML ...

Tips, Tricks and Recommendations

I think I came up with quite a few good subjects to cover here at my weblog. I will be posting tips, tricks and recommendations covering JavaScript, DHTML as well as designing APIs. These are all of course my personal views and based on experiences from both WebFX, WebOS, Bindows as well as from my ...

Switching to WordPress

I’m in the process to switch my weblog to WordPress instead of MovableType. I’ll try to do the transition to my old theme over the weekend (although the default one looks better).

Opera adds SVG Support

Opera has added support for SVG in their browser. Their mobile browser, that is. Since Opera is using the same code base for Windows, Unix, Mac as well as lots of mobile platforms it would not surprise me if we would see this being added to their desktop browser as well. With Mozilla 1.8 having ...

IE7 Beta

I think you have all seen the news about the Internet Explorer 7 beta which is planned for the summer. Nothing has really been said about it more than it will include some anti spyware technology. Meaning: IE6 + Microsoft Antispyware in one and the same installer Seriously, I wonder what it will include? Will ...

DHTML Universe

Alex Russel of netWindows fame, has created a graph containing people in the DHTML Universe and how these relate to each other. Very nice work.

Delegates in JS

I think we’ve all made the mistake while we are doing OOP in JavaScript with this not pointing to what we expected. this.obj.onfoo = this.handleFoo; In the code above this inside handleFoo would point at this.obj and not at this. This is usually worked around with the cumbersome code: var self = this; this.obj.onfoo = ...

State of the Nation

I felt that I have been neglecting my web log for way too long so here comes some short comments about various things. WoW On Monday evening the European World of Warcraft beta ended with a very dissappointing lag party. A hundred people or so was waiting for the demons to arrive and in the ...

Google snags another one (part 2)

Ben Goodger, the lead developer of Mozilla Firefox is now employed by Google. What does this mean for Firefox? Probably not much since he is still working (“devoted”) full time with Firefox, he’s just gettting paid from Google instead of the Mozilla Foundation. What does this mean for Google? This is probably bigger but who ...

iFolder Alternatives?

I just bought a new laptop and now I want to keep certain folders synchronized. My first idea was to use iFolder (mono) but after testing it I found that it was way too imature and I could not get it to work. iFolder seems like the perfect product, if it worked. Does anyone one ...

Bindows Developer?

The following is available in Swedish only but we don’t really care whether you know Swedish or not: Intresserad att jobba med Bindows? Vi har nu annonser ute pa Computer Swedens hemsida Utvecklare Programmerande Teamledare