Lojic Technologies

Archive for May 2007

Kwajalein Atoll

with 15 comments

KwajaleinWhen I worked at CompuServe around 1993, I saw a picture of Kwajalein Island on Alisa DeSisto’s cubicle wall. As it turns out, she was stationed there for a year or two. I was fascinated by the concept of people actually living on such a tiny island (about twice as long as the airport runway!) in the Pacific Ocean many hundreds of miles from any decent size chunk of land. Is this place cool, or what? 🙂 Click on the link or picture to view Kwajalein on Google Maps so you can explore virtually. Google allows zooming in to the 200 ft. resolution level.

Kwajalein on Google Maps

Written by Brian Adkins

May 30, 2007 at 12:36 pm

Posted in amazing, geography

Tagged with , ,

Bermuda Triangle

with one comment

I just discovered that if you take the average of the following locations:

Grand Rapids, MI (my mom & step-dad)
Columbus, OH (Andrea’s parents)
Orlando, FL (my dad & step-mom)

it results in a point roughly 15 miles from my house – cool huh? 🙂

Well, I had to cheat a little to get it that close. I used Grand Rapids instead of Rockford, Columbus instead of Centerburg, and Orlando instead of Altamonte Springs; otherwise the point would be a little north of Wake Forest, but that’s still pretty darn close. So, if we end up visiting our parents and Bermuda equally, then we live in a mathematically optimal location. I guess I should check on travel arrangements to Bermuda…

Written by Brian Adkins

May 28, 2007 at 10:45 am

Posted in geography

Tagged with

VMWare Workstation on Ubuntu 7.04

with 9 comments

After upgrading my Ubuntu installation from 6.10 to 7.04, vmware workstation stopped working. I downloaded the latest VMWare 5.5.4 with no improvement. Then I found this article which fixed the problem in a few seconds!

Just in case the article goes away, I’ll post the instructions here as well:

From the vmware-distrib directory, do the following:

# cd lib/modules/source/
# cp vmmon.tar vmmon.tar.bck
# tar -xvf vmmon.tar
# vim vmmon-only/include/compat_kernel.h

Change the line with:

static inline _syscall1(int, compat_exit, int, exit_code);


/* static inline _syscall1(int, compat_exit, int, exit_code); */

Tar the directory to vmmon.tar:

# chmod 755 vmmon.tar
# tar -cvf vmmon.tar vmmon-only

Finally, go back to vmware distrib directory:

# cd ../../../


# sudo ./vmware-install.pl

The error messages that indicate the problem for which this fix should work are as follows:

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vmmon-only'
make -C /usr/src/linux-headers-2.6.20-15-386/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.20-15-386'
CC [M] /tmp/vmware-config1/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config1/vmmon-only/linux/driver.c:80:
/tmp/vmware-config1/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘compat_exit’
/tmp/vmware-config1/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘exit_code’
/tmp/vmware-config1/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to ‘int’ in declaration of ‘_syscall1’
make[2]: *** [/tmp/vmware-config1/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config1/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-15-386'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config1/vmmon-only'
Unable to build the vmmon module.

For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and

Execution aborted.

Written by Brian Adkins

May 25, 2007 at 3:52 pm

Posted in software

Tagged with , ,

Douglas Crockford: Advanced JavaScript

leave a comment »

Ok, last of the Douglas Crockford videos. These are definitely worth viewing if you program at all in JavaScript. The highlight for me was his presentation of prototypal and parasitic inheritance models and contrasting them with the pseudo-classical approach that is typically presented. I haven’t had time to analyze his approach in depth, but from a single viewing, his ideas certainly merit experimentation and seem to fit in more naturally to the JavaScript language.

I felt he did a good job of presenting natural ways of handling encapsulation, inheritance and code reuse while capitalizing on JavaScript’s strengths instead of trying to impose a class-based design onto the language. He also covered several ways of utilizing closures nicely.

function object(0) {
  function F() {}
  F.prototype = o;
  return new F();
newobject = object(oldobject);

var singleton = function () {
  var privateVariable;
  function privateFunction(x) {
  return {
    firstMethod: function (a,b) {
    secondMethod: function (c) {

Object.prototype.later = function(msec, method) {
  var that = this,
      args = Array.prototype.slice.apply(arguments, [2]);
  if (typeof method === 'string') {
    method = that[method];
  setTimeout(function () {
    method.apply(that, args);
  }, msec);
  return that;

Advanced JavaScript Part 1 of 3
Advanced JavaScript Part 2 of 3
Advanced JavaScript Part 3 of 3

Written by Brian Adkins

May 17, 2007 at 10:38 pm

Posted in programming, video

Tagged with ,

Douglas Crockford: Theory of the DOM

leave a comment »

Here’s a set of 3 videos by Douglas Crockford on the DOM that were in between his JavaScript and Advanced JavaScript presentations. Pretty basic material, but you may find a few helpful hints. A few comments:

  1. Comment hack for JavaScript hasn’t been necessary for 10 years!
  2. language=javascript has been deprecated
  3. type=’text/javascript’ is ignored if you use the src attribute
  4. remove any event handlers of a node before deleting it due to MS garbage collection incompetencies
  5. avoid trickling, bubbling is where the action is

Theory of the DOM Part 1 of 3

Theory of the DOM Part 2 of 3

Theory of the DOM Part 3 of 3

Written by Brian Adkins

May 17, 2007 at 7:04 pm

Posted in programming, video, web design

Tagged with , , , ,

Douglas Crockford: JavaScript

leave a comment »

Thanks to Jordan Liggitt for passing on some videos on JavaScript by Douglas Crockford who is a senior JavaScript architect at Yahoo! The first series is pretty basic, but if you’re new to the language, it’s a very good introduction. Here are some random items I thought were noteworthy:

  • Brendan Eich at Netscape originally wanted to make a dialect of Scheme, but his manager said that people wouldn’t accept “all those parentheses”, and he should make something with a friendlier syntax. Too bad, I would love to able to program Scheme in the browser
  • Brendan did sneak in lambda though, he just didn’t call it that 🙂
  • No separate character type, just strings of length 1
  • == and != do type coercion; === and !== do not
  • bitwise operators convert to a 32 bit signed integer and then back to a 64 bit float, so don’t use them for efficiency like you might in C
  • don’t use the with statement
  • be careful with for (var name in object) due to iteration of inherited members also
  • blocks don’t have scope, only functions do
  • vars are implicitly global if not declared
  • 4 ways to call a function

    1. functionObject(args)
    2. thisObject.methodName(args)
    3. new functionObject(args)
    4. functionObject.apply(thisObject[, args])
  • don’t use eval except for trusted JSON
  • http://www.JSLint.com a tool Crockford wrote
  • Semicolon insertion: when the compiler sees an error, it attempts to replace a nearby linefeed with a semicolon and try again! Always use the full correct form including semicolon. This was a surprise to me because once I discovered semicolons were optional, I stopped using them for a cleaner look. Oops.

The JavaScript Programming Language Part 1 of 4
The JavaScript Programming Language Part 2 of 4
The JavaScript Programming Language Part 3 of 4
The JavaScript Programming Language part 4 of 4

I’ll post another entry after I go through Crockford’s advanced series.

Written by Brian Adkins

May 17, 2007 at 3:26 pm

Posted in programming, video

Tagged with ,

100 Oldest .com Domains

leave a comment »

Rank Create date Domain name
1. 15-Mar-1985 SYMBOLICS.COM
2. 24-Apr-1985 BBN.COM
3. 24-May-1985 THINK.COM
4. 11-Jul-1985 MCC.COM
5. 30-Sep-1985 DEC.COM
6. 07-Nov-1985 NORTHROP.COM
7. 09-Jan-1986 XEROX.COM
8. 17-Jan-1986 SRI.COM
9. 03-Mar-1986 HP.COM
10. 05-Mar-1986 BELLCORE.COM
11. 19-Mar-1986 IBM.COM
11. 19-Mar-1986 SUN.COM
13. 25-Mar-1986 INTEL.COM
13. 25-Mar-1986 TI.COM
15. 25-Apr-1986 ATT.COM
16. 08-May-1986 GMR.COM
16. 08-May-1986 TEK.COM
18. 10-Jul-1986 FMC.COM
18. 10-Jul-1986 UB.COM
20. 05-Aug-1986 BELL-ATL.COM
20. 05-Aug-1986 GE.COM
20. 05-Aug-1986 GREBYN.COM
20. 05-Aug-1986 ISC.COM
20. 05-Aug-1986 NSC.COM
20. 05-Aug-1986 STARGATE.COM
26. 02-Sep-1986 BOEING.COM
27. 18-Sep-1986 ITCORP.COM
28. 29-Sep-1986 SIEMENS.COM
29. 18-Oct-1986 PYRAMID.COM
30. 27-Oct-1986 ALPHACDC.COM
30. 27-Oct-1986 BDM.COM
30. 27-Oct-1986 FLUKE.COM
30. 27-Oct-1986 INMET.COM
30. 27-Oct-1986 KESMAI.COM
30. 27-Oct-1986 MENTOR.COM
30. 27-Oct-1986 NEC.COM
30. 27-Oct-1986 RAY.COM
30. 27-Oct-1986 ROSEMOUNT.COM
30. 27-Oct-1986 VORTEX.COM
40. 05-Nov-1986 ALCOA.COM
40. 05-Nov-1986 GTE.COM
42. 17-Nov-1986 ADOBE.COM
42. 17-Nov-1986 AMD.COM
42. 17-Nov-1986 DAS.COM
42. 17-Nov-1986 DATA-IO.COM
42. 17-Nov-1986 OCTOPUS.COM
42. 17-Nov-1986 PORTAL.COM
42. 17-Nov-1986 TELTONE.COM
42. 11-Dec-1986 3COM.COM
50. 11-Dec-1986 AMDAHL.COM
50. 11-Dec-1986 CCUR.COM
50. 11-Dec-1986 CI.COM
50. 11-Dec-1986 CONVERGENT.COM
50. 11-Dec-1986 DG.COM
50. 11-Dec-1986 PEREGRINE.COM
50. 11-Dec-1986 QUAD.COM
50. 11-Dec-1986 SQ.COM
50. 11-Dec-1986 TANDY.COM
50. 11-Dec-1986 TTI.COM
50. 11-Dec-1986 UNISYS.COM
61. 19-Jan-1987 CGI.COM
61. 19-Jan-1987 CTS.COM
61. 19-Jan-1987 SPDCC.COM
64. 19-Feb-1987 APPLE.COM
65. 04-Mar-1987 NMA.COM
65. 04-Mar-1987 PRIME.COM
67. 04-Apr-1987 PHILIPS.COM
68. 23-Apr-1987 DATACUBE.COM
68. 23-Apr-1987 KAI.COM
68. 23-Apr-1987 TIC.COM
68. 23-Apr-1987 VINE.COM
72. 30-Apr-1987 NCR.COM
73. 14-May-1987 CISCO.COM
73. 14-May-1987 RDL.COM
75. 20-May-1987 SLB.COM
76. 27-May-1987 PARCPLACE.COM
76. 27-May-1987 UTC.COM
78. 26-Jun-1987 IDE.COM
79. 09-Jul-1987 TRW.COM
80. 13-Jul-1987 UNIPRESS.COM
81. 27-Jul-1987 DUPONT.COM
81. 27-Jul-1987 LOCKHEED.COM
83. 28-Jul-1987 ROSETTA.COM
84. 18-Aug-1987 TOAD.COM
85. 31-Aug-1987 QUICK.COM
86. 03-Sep-1987 ALLIED.COM
86. 03-Sep-1987 DSC.COM
86. 03-Sep-1987 SCO.COM
89. 22-Sep-1987 GENE.COM
89. 22-Sep-1987 KCCS.COM
89. 22-Sep-1987 SPECTRA.COM
89. 22-Sep-1987 WLK.COM
93. 30-Sep-1987 MENTAT.COM
94. 14-Oct-1987 WYSE.COM
95. 02-Nov-1987 CFG.COM
96. 09-Nov-1987 MARBLE.COM
97. 16-Nov-1987 CAYMAN.COM
97. 16-Nov-1987 ENTITY.COM
99. 24-Nov-1987 KSR.COM
100. 30-Nov-1987 NYNEXST.COM

I found the list here.

Written by Brian Adkins

May 17, 2007 at 2:31 pm

Posted in internet

Tagged with

35 Designers x 5 Questions

leave a comment »

35 designers. 5 questions. 5 precise answers. Result: 175 professional suggestions, tips and ideas from some of the best web-developers all around the world.

In the end we’ve received more answers than we expected. The results – over 80 CSS-based tips, design ideas, suggestions, fonts, design-related books and online-magazines – are listed below. It’s interesting to know, how designers work their magic. It’s interesting to know what you can actually learn from them.

35 Designers x 5 Questions

Written by Brian Adkins

May 8, 2007 at 11:05 pm

Posted in web design

Tagged with ,

The Real Rain Man

leave a comment »

Who was the game winning pitcher in game three of the 1926 world series? Who were the four people in George Washington’s cabinet? When was Sir Walter Raleigh executed? What day of the week was that? Kim Peek has no trouble answering questions like these and thousands more from memory. He is the person the “Rain Man” character was based on. He reads eight books a day. A page that would normally take three minutes to read takes him eight to ten seconds. He reads the left page with his left eye and the right page with his right eye and retains 98% of it. The neurologist who originally diagnosed him only gave them five minutes of his time because he was late for a golf game; he said they should put Kim in an institution and forget about him.

Other parts of the series:

Part Two of Five

Part Three of Five

Part Four of Five

Part Five of Five

Written by Brian Adkins

May 4, 2007 at 12:47 pm

Posted in amazing, science, video

Tagged with

Half star ratings on Netflix

with 8 comments

I noticed a friend of mine (Jordan L.) who had half-star ratings (2.5, 3.5, etc.) on Netflix. When I asked him about it, he said to just “hover over the left side of the star” to get a half-star rating. This didn’t work for me, so I thought it might be a Linux vs. Windows thing and asked another friend (Mike F.) to try it out. Same result – didn’t work in IE or Firefox on Windows. Then Mike found a JavaScript file that could be installed with greasemonkey and that worked fine for him.

I’ve yet to install greasemonkey, and I don’t like the idea of installing JavaScript on my system unless I’ve thoroughly analyzed it, so I thought of another way.

I installed wireshark on my Ubuntu Linux box and sniffed the network traffic to Netflix when I rated a movie. After some experimenting and removal of extraneous info, I came up with the following URL to rate a movie with half stars. This specific URL will rate the movie “The Incredibles” with a 4.5 star rating (probably a bad example since The Incredibles clearly deserves a 5 star rating):


To rate other movies, simply replace 70001989 with the id of the movie which you can find by hovering over the movie. I believe you’ll need to be logged in to Netflix already for this to work.

Now as to why Jordan can rate half-stars without the aid of a greasemonkey script, that’s still a mystery.

Update: got an email from Jordan explaining that his Netflix pages include the following two JavaScript source files:


I only have the first one, and from the name of the second one, I presume that’s the one that gives him the special half star rating capability. I guess Netflix favors Jordan over me 😦

Update 2: mystery solved! My curiosity got the best of me so I contacted Netflix. The rep said they’re running a test and Jordan just happened to get picked (I didn’t mention Jordan, but I suppose they looked through my ‘friend’ list)! They do that periodically to test features to see if they’ll give them to the unwashed masses. I asked if they could run the test on me, and he said it didn’t work that way 🙂 So I guess it’s the greasemonkey script or the inconvenient URL hack for the rest of us.

Written by Brian Adkins

May 2, 2007 at 1:43 pm