Skip to main content

Mark Lam

Mark Lam was previously a virtual machine engineer in the JavaME CDC team at Sun Microsystems for 8 years. Before joining Sun, he was a real-time embedded systems developer for 6+ years, working on application frameworks, graphics systems, networking protocols, game development, and fault tolerant systems amongst other things, on devices ranging from 64KB 8bit uControllers to 32-bit RISC machines. Currently, Mark is pursuing other interests in embedded development.


mlam's blog

A Field Get Experience

Posted by mlam on December 14, 2006 at 6:41 PM PST

This article is a continuation of my series of discussions about the internals of the phoneME Advanced VM (commonly known as CVM) for JavaME CDC. Below, I'll work on fixing a bug in the VM. Along the way, I'll discuss more of CVM's internal mechanisms. Note: for the purpose of this discussion, I will only focus on the coding aspects.

Beware of the Natives

Posted by mlam on December 7, 2006 at 2:11 PM PST

There are a lot of not so nice things about using native methods.

JIT me up, Scotty

Posted by mlam on December 6, 2006 at 7:03 PM PST

Map of CVM Data Structures

A Tale of Two Stacks

Posted by mlam on December 5, 2006 at 1:10 AM PST

Map of CVM Data Structures

CVM Stacks and Code Execution

Posted by mlam on November 30, 2006 at 5:13 PM PST

Map of CVM Data Structures

Complexity equals Entropy?

Posted by mlam on November 29, 2006 at 1:10 PM PST

Gotta get some work done. So, short entry for today. CVM Internals will have to be postponed again ... sorry. On to today's topic ...

2nd Law
The second law of thermodynamics states that [at least how I would like to remember it] ... universal entropy always increases. An interesting corollary of that is ...

Multi-tasking the Java platform: What's the Big Deal?

Posted by mlam on November 28, 2006 at 11:35 PM PST

Today, I started reading this thread on forums. It made me wonder if people all mean the same thing when they talk about a multi-tasking Java platform.

The BIG Picture: a Map of CVM

Posted by mlam on November 27, 2006 at 1:17 PM PST

Personally, when I dive into a new system, one of the first thing that I try to figure out is how everything fits together. If you are a visual thinker like me, one of the best ways to do that is to draw a diagram of all the things that you think are important and see how they relate to one another.

C further with CVM

Posted by mlam on November 25, 2006 at 1:19 PM PST

I've been talking a lot about esoteric knowledge about the phoneME Advanced VM (CVM), and thought that it is about time to feed you some really technical data. So, I spent most of yesterday rendering a Map of CVM to show you the lay of the land, but it is taking a lot longer than I thought. As a result, no blog entry yesterday.

When does JavaSE becomes a better choice than JavaME CDC?

Posted by mlam on November 23, 2006 at 2:17 PM PST

A comment from my last entry on performance, asked, "I was thinking about the fact that devices [increasingly] get more power and more RAM. I thought when will JavaSE be a better choice instead of JavaME/CDC1.1?