February 16, 2004

Nikken replies?

I'm still waiting for Nikken to reply to my email of Jan 29, but not holding my breath while doing so. While waiting, I found that Jarle had done some research regarding one comment to his blog entry about the cease & desist email. Read all about that in "Nikken replies?" and you'll probably laugh as much as I did! :)

January 29, 2004

Nikken tries to censor blog comments

As I mentioned yesterday, Nikken emailed Jarle D. Bergersen and me asking us to remove all our writings about Nikken by February 11.

Their response to my reply was seemingly that they were not concerned with my writings at all, although they did not state it specifically. Instead they want two comments to Jarle's entry Nikken in his Norwegian blog deleted. He's currently keeping his English blog updated with how the case develops, read the latest about it in his Nikken Update.

I'll be sending Nikken's Compliance department another email today asking them to dismiss the cease & desist request in my case, and once I get a reply I'll update the blog.

January 28, 2004

Cease & Desist, but not really

Yesterday was a fun day. I got up, checked my email, and found this interesting one from somebody called "Compliance". Behind that name you'll find Nikken UK Ltd's Compliance Department, and they wanted to tell me that I wasn't allowed to market Nikken's products on the internet. If you can read Swedish the complete email is found in Jarle's blog entry about it since he's actually the one supposed to get it.

I had a slight problem understanding why they thought my name was Jarle and how on earth "My Nikken Encounter" could be called "marketing Nikken's products". Not only were they referring to an earlier entry in Jarle's blog, but they also referred to my writeup. And they asked me to remove all information I've written about Nikken by February 11.

I forwarded a copy of it to Jarle since he was obviously an intended recipient, and then I wrote a reply to Nikken telling them that I wasn't Jarle, that what I had written can hardly be called "marketing", and that they could mail me back with any specific errors in what I have written.

I got a reply before the end of the day explaining that the Cease & Desist email was meant to be to Jarle. They didn't say they were sorry they had asked me to remove all my writings and they didn't say they were sorry they hadn't researched a bit more and figured out who I am. I'm quite happy that I never intended to comply to their request since if I did, all my writings would now have been removed even though they never intended to ask me to do that.

As I'm a bit delayed in writing about this it's been mentioned in other blogs as well. Jarle has of course got Nikken Bullies with a few comments. It's also mentioned by Anders Jacobsen, Bob, Remco, Arve and Elf.

[Update 2004-01-29: Added link to Elf's blog]

January 11, 2004

The inconsistent instanceof operator

Last year I helped an ex-colleague of mine debug a problem with identifiying objects passed to a function in an iframe using the instanceof operator. The problem was that Microsoft Internet Explorer didn't give the expected results and we had to code our way around it. I've been wondering ever since about when theory and practice coincide, and so I created a testcase and tested whether the instanceof operator works as it should.

Continue reading "The inconsistent instanceof operator" »

December 17, 2003

Getting sex in JavaScript

Something I had forgotten I wrote. It's from a thread that once existed over on Experts Exchange. Enjoy!

From: ********* Title: "JavaScript and Sex"
Points: 5 Date: Monday, March 13 2000 - 01:48PM CET

Can anyone tell me how I can use my skills in JavaScript to get more girls/sex please.
Thanks in advance
****

From: nettrom
Date: Monday, March 13 2000 - 01:40PM CET

Unfortunately the methods needed to get girls/sex in JavaScript are dependant upon the DOM of each girl. Therefore, you will have to make sure you sniff what version of said DOM each girl has before you try to get them. If you do not do this the result is a fatal error.

Therefore, always start each session with:

var mySelf = new Me();
var myGirl = new Girl();
if(myGirl.DOMversion < 2) {
  myGirl.leave(); // too old DOM version
}

Then you can get the girl, and have sex. It's fairly straightforward, the DOM 2 really helped since it has methods for everything you'd ever want to do. In DOM 1, as you might know, the leave() method might make the girl angry, and you'll exit with a fatal error.

The natural next step of your session is to get the girl. If you forget to do that she'll leave when you try to have sex with her.

if(myGirl.stillPresent) {
  // girl is still with us
  myGirl.get(); // get girl!
}

Now that we've correctly gotten the girl we can undress and have sex. Remember to set the sex.safe property to 'true' first, or else you might end up with another fatal error. The previous lines then become:

if(myGirl.stillPresent) {
  // girl is still with us
  myGirl.get(); // get girl!
  mySelf.undress();
  myGirl.undress();
  sex.safe = true; // must rember to have safe sex!
  myGirl.getOnBed();
  mySelf.getOnBed();
  mySelf.haveSex(myGirl);
}

It's as easy as that.

Tomorrow's lesson: How to have even better sex with the new DOM v3!

November 24, 2003

The Sisterchicks...

...go searching for their brains in several wrong places, hoping that the Lord will help them out and mark the spot with an X. Let me clear things up at the start: this book review will spoil the exciting parts of the story. If you want to read the book and be surprised by what happens, stop reading my review.

Continue reading "The Sisterchicks..." »

September 21, 2003

$5 for me

I got an email with information about "register.com's class action settlement":http://www.register.com/zurakov/notice.html and I'm being awarded the amazingly huge amount of $5. Provided I don't opt-out that is. I've gotten the laws of class action lawsuits explained to me, so I'm not really suprised that the guy representing the class gets lots of money, and his lawyers even more. At the moment I'm considering whether I should submit an email and complain that awarding the $5 to charity is not an option, even though I know this is contrary to how settlements are usually done. Of course there's a way around it, I can accept the $5 and after having paid my domain renewal send the $5 to charity, but I'd rather prefer them having to do it directly. Could amount to a few more dollars too.

August 29, 2003

Accessing properties during loading

I recently worked on making my "tree menu":http://www.treemenu.com/ work with Opera 6 & 7 and noticed that v7 died with an error while trying to grab the frame names in the parent frameset. This is a problem I've never experienced with other browsers except Opera v5, and in that case I was able to fix it by letting the parent frameset's onload-event handle startup.

Continue reading "Accessing properties during loading" »

August 21, 2003

Windows, javascript:-URLs and https://

This one started when I was approached by a former colleague of mine asking for some help with a calendar script they were using in a secure server environment (https://). Entering dates using a calendar tends to be a bit easier for many people than writing them in. I had a look at the script and couldn't really find anything odd about it, the general function for showing the calendar going something like:
function showCalendar(targetForm, targetDate) {
  // code to create HTML for calendar went here

  // code that opens and writes the calendar
  var calWindow = window.open('', 'calendarWindow', ...);
  calWindow.document.write(lotsaHTML);
  calWindow.document.close();
}
This code was called by links in the calendar window whenever the user wanted to navigate back/forward a month, and that functionality didn't work. I failed to spot obvious errors in the code and sent off some code being a shot off the hip, but it totally failed to solve the problem. I then suggested to rewrite the code so that it reused a global window reference whenever it's available. The code became:
var globalWindowRef;
function showCalendar(targetForm, targetDate) {
  // code to create HTML for calendar went here

  // code that opens and writes the calendar
  var calWindow;
  if(globalWindowRef && !globalWindowRef.closed) {
    calWindow = globalWindowRef;
  } else {
     calWindow = window.open('', 'calendarWindow', ...);
  }
  calWindow.document.write(lotsaHTML);
  calWindow.document.close();
}
The reason why I believe this worked while the other didn't was that the links in the calendar window were javascript:-URLs calling showCalendar() found in the parent window, which in turn tried to reopen (and then rewrite) the calling window before the function had returned. Something which doesn't seem to be allowed (anyone see any reason why it should?). Goes to show that once you're going secure you should look through your code another time to make sure it's doing what you believe it's done, and doing it in a sane manner.

August 18, 2003

Lemmings

I'm supposed to start being a student again, not play "DHTML Lemmings":http://crew.tweakers.net/crisp/lemmings/