New Primordial Ooze Banner
I created a new banner illustration for my blog's homepage. Check it. I did a simple glass effect on my venerable Primordia globe illustration.

" />
« August 2006 | Main | October 2006 »
I created a new banner illustration for my blog's homepage. Check it. I did a simple glass effect on my venerable Primordia globe illustration.

I am a heavy user of Steve Gibson's Perfect Passwords web page. You can generate self-proclaimed "Ultra High Secuirity" passwords. Some sites don't allow 63 or 64 character passwords, however, and I'm constantly partially selecting a piece to submit.
Oh, and it’s sometimes hard to detect that they didn’t support it. They either tell you or they blindly truncate your password on some unknown character, forcing you do slowly enter progressively smaller or larger portions of the password before getting in. Arg.
The password page generally shows passwords that look like this:

When I visit a new web site which requires a password, I usually go to this page and select the first 8–12 characters. I do this by hand, manually selecting the group with my mouse. I enter this into the site and record the password in a text file located on my TrueCrypt volume (the topic of another post, I suppose).
It would be great if Steve could modify the site to add some CSS padding between each 8–character block. The effect would look like this (I only modified the last one):

The markup is pretty brainless, use of a CSS class would be cleaner:
<span style="padding-right: 5px">q9z2bYXZ</span><span style="padding-right: 5px">p3be6QOt</span><span style="padding-right: 5px">zPrzQfwx</span><span style="padding-right: 5px">yLG4iegC</span><span style="padding-right: 5px">0xMBPEiI</span><span style="padding-right: 5px">xpn6Gk7L</span><span style="padding-right: 5px">VIKNz3lZ</span><span style="padding-right: 5px">kIQ4ctO</span>
The padding does not show up in your clipboard if you span blocks. The only downside is that double-clicking on a block won’t select it. That would be the ultimate. Does anyone know how to accomplish that? Have spaces which are invisible to the clipboard but will allow a user to double-click and select an 8–character block like a word? Oh, and you can’t use script, Steve Gibson hateses script, he does.
If I can come up with a complete solution, I’ll see about submitting this to Steve.
I was born in the 60's, even if just barely! I was too little to really understand what my hometown was like back then, but a fellow Wantagh-ite sent me this link with pictures showing how it used to be.
These pictures are from Wantagh, NY in 1961. This was way before my time… but most of this was probably still around when I was born in ‘69.

I remember this Carvel… but I’m amazed to see the new construction to the North… that was all built up by my earliest memories.

Ah, the Cherrywood Shooping Center. My friends and I went here all through high school. We usually ate at the Cherrywood Pizzeria, but I don’t think it was in business back then.

I have no idea what the fuck this is. Ray’s site says it was a flower farm. It draws a blank for me.

I have no idea where the hell this is. Ray says it was the A&P shopping center,– wherever that is. I should ask my father, or my brothers, or my friends Steve and Rob. They would probably know.

It’s much bigger now.

Ah, I remember seeing many movies here. Movies suct as E.T., Conan the Destroyer, and many others. I looked up Mr. Sardonicus and, yep, it was released in 1961.
Images seem to be copyright (c) 2005 bvy Ray Young. Thanks Ray!
Sometimes I think about the things I've accomplished in life, you know, career and creative things. Then see shit like Littlefoot and the YuYu and I see a master at work
These animations are remarkable. They were authored in Macromedia Flash and the color and imagery are simply gorgeous. I highly encourage you to sit back and enjoy the animation. Here are some more stills:
In my never ending quest to make the best use of my Internet-enabled Pocket PC, I stumbled across a great web service called Skweezer. Skweezer strips out the text from web sites and makes web pages ordinarily unreadable on a small screen, suddenly readable.
I first heard about Skweezer via a notice from my online news aggregator, Bloglines. For a while, Bloglines has supported mobile devices with a mobile device-optimized portal to Bloglines. Some feeds don’t post all of their content on the feed so you are forced to click on the source link. In many cases, this would bring you to a regular web page that isn’t optimized for mobile devices.
My Pocket PC’s Pocket Internet Explorer has a feature which helps alleviate the problem. I can switch between “Default” and “Single Column” processing modes which help shrink a page or I could select “Desktop” to get the real web page (and deal with lots of side and down-scrolling). However, styles can still make things look screwy.
Skweezer does a much better job. It essentially removes any styling and presents an extremely simple view of your page.
I found that I could use Skweezer for arbitrary links, too. If you go to the main page and enter “http://primordia.com/blog” to the input box, you are redirected to a skweezed version of Primordial Ooze:
http://skweezer.net/skweeze.aspx?q=http%3A%2F%2Fprimordia.com%2Fblog&i=1–
If you click on the above link, you’ll notice that every link is in turn skweezed, so you can continue to have a mobile-optimized browsing experience.
I have since bookmarked skweezed-versions of some of my favorite sites, sites that perhaps don’t have a feed and I need to view regularly.
I have traditionally avoided using the concept of a blog excerpt on Primordial Ooze. The main reason for this was because I frequently added what I thought were cool graphics and imagery to my posts and I wanted to see all of this by simply hitting my home page and scrolling down.
The fact is, though, this is not a very effective reason to keep full-posts on my homepage.
Using excerpts has a few advantages for me. First, it helps me think about my post and distill the essence of it right in the beginning, much like a newspaper article would do. In the long run, I think this will yield a more sensible structure to my posts.
Second, I believe that I’ll be better able to analyze what posts are the most popular. While I like to think that my blog is my blog and I’ll post whatever I feel like it, I also get a thrill when certain topics get a lot of reads. To that end, if I knew more precisely which articles were the most popular, I would certainly try and explore those topics more.
Currently, Google Analytics says that my homepage is the most popular page:

It also shows that some of my archive pages are very popular as well. Even with excerpts, the root /blog page may still be t he most popular since people visit the root before venturing elsewhere. However, Google Analytics detect this kind of digging. If the entire content is on the homepage, however, there will simply be no digging.
Contrary to this logic, I have recently updated my RSS feed with full content. I noticed that my RSS feed had all of the text of my posts, but none of the formatting or embedded graphics. I fixed that and will start thinking about whether the feed will have full graphics and content or just the excerpts.
I’m a killer. Plain and simple, there is no way around it. This weekend, my mom took out her three sons to a nice Sunday brunch. My brother Tom and his wife had a card for me. It was a nice card, one saying how great an uncle I was. Inside the envelope was a toy lizard. The box said that if you put the Lizard in water, it will grow to 600% it’s original size.
My brother joked that this was one Lizard that I couldn’t kill. He was wrong.
My kids placed the lizard in a small cup of water and I saw how the lizard grew. However, it began to grow outside the bounds of it’s small container. I figured that I’d place him in a pot and fill it with a lot of water.
Trying to be smart, I filled the pot with warm water. You know, chemical reactions are faster at higher temperatures, right? I mean, it wasn’t boiling water, just warm water. Well, that was enough to do the lizard in.
In about 1 hour, well, you can see the results here:

Oh the shame.
I set out to experiment with buttons again. The following illustration demonstrates the effect that the shape of your button has on the shadows and highlights. I have also included two different surface textures here.

The first row of images is basically your run of the mill shiny red plastic. The second and third row of images are made from a transparent ruby-like material. The second row is a side-view so you can see the shape of the button from the side.
Notice how the semi-transparent ruby-like material shows the reflections of the environment. I could have turned that off in Bryce, but I left it in since I figured out how to do it at the last minute and the image was already made.
I noticed that the specular highlight was oval shaped. This was in stark contrast to the way I have been doing glassy buttons previously. The way I have been doing glassy buttons is more like the following picture:

For that image, what’s happening is the surface is VERY shiny, almost like glass. So, the highlight is really a reflection of some object with a shape that when reflected off a curved surface, produces a perfect circle on the surface of the button. Soon, I’ll try and reproduce that in the Bryce environment and we canplay with variations.
What you see in the red buttons above, though, is a more gel-like plastic texture where the highlight is shaped like an oval and the brightest part of the highlight is not centered.
Swapping out the linear gradient specular highlight for an oval-shaped radial gradient was a cinch. This yields a more plasticy button.

The Adobe Illustrator file to get this effect is here: BlueGelButton.ai (469 KB). What’s cool about the illustrator file is that both highlights are included. Since they are opacity masks, you can switch them in and out with ease. There is even a color disk object which you can select and fill with a color of your choosing. Whee!

Doing this in Xaml might be a bit of a challenge (for me). I used a sophisticated feature of Illustrator called a blend. This is how I constructed the oval-shaped highlight with the off-center bright point.
UPDATE: Ok, so maybe you do need to know French. I must admit that when I first heard of this, I had the question translated. After that, it seemed obbvious. Sorry. The question basically is, “Which of these objects revolves around the Earth.” The answers are A: The Moon, B: The Sun, C: Mars, D: Venus.
I don’t know what to say about this “Who Wants to be a Millionaire” episode (French version). The level of ignorance is absolutely beyond reason. Society failed this man.
All joking aside, I’d really like to understand how this is possible. Where did he grow up? What was the religious doctrine of his home town? Was he let out of the basement as a child?
I played with the new Bryce 5.0 (free) Metaball support. The following animation took me about 20 minutes to set up. It’s basically a default scene with these modifications:
I uploaded the video to YouTube and here it is:
You can find a higher-quality version suitable for your iPod, here.

"These are conditions that regulations never envision," says Dave Minnaar, radiological expert with Michigan's Department of Environmental Quality. "It's simply presumed that the average person wouldn't have the technology or materials required to experiment in these areas."
Read the account, which happened way back in 1995. A Brilliant teenager’s step-by-step journey toward a working nuclear reactor.
Whoa.
I also found this note very interesting:
Note: This article is being reprinted here as an example of what NOT to do with radioactive materials. Please do NOT attempt to recreate any part of these experiments for the following reasons:
You will most likely poison yourself and/or others
Nobody really needs an unsafe homemade reactor (especially one made of duct tape and foil)
If enough people try these dangerous experiments, the government will try to outlaw any sort of legitimate private experiments with radioactivity or possession of any radioactive minerals or materials (thus spoiling all of our fun).
Fun?
When I woke up this morning to feed Cricket I noticed that he was dead. His little face was stuck to the side of his terrarium, dried “emergency care” food serving as a glue of some kind. I don’t know what finally did him in, but he had significant disease and I suppose I was simply not equipped to deal with it.
He was still warm and soft to the touch, but we have so many heat lamps that this does not surprise me.
I set him up like he’s sleeping and my wife and I will tell the kids later tonight.
First we lose the hermit crabs, now we lose our bearded dragon. I don’t know if I’m ready for another pet.
From spaceweather.com:
Yesterday, the space shuttle Atlantis undocked from the International Space Station (ISS). Amateur astronomer Thierry Legault caught the two spaceships separating directly in front of the sun.

I created this graphic, but I hope I’m allowed to do so. I didn’t see any kind of copyright on the image linked on spaceweather.com’s website.
I’m making some progress on my planned glassy bouncy ball animation. I did this with Microsoft’s XNA Game Studio. However, the ballw as a pre-rendered PNG file… not very sexy.
Here is a screenshot of a resolution-independent screen grab of a static image generated using XAML.

I don’t have the animation working yet. I have to do most of it by hand, I think since I’m not too sure how I would express the gravity calculations using the storyboard elements I would ordinarily use for animation in XAML. The code to do this follows very closely to my original post called Easy Glass Buttons.
You can dowload the XAML file for this, here. Kids are pulling at me now so I don’t have time to pick it apart and explain what’s what. Maybe another time ;-)
Whoa!
Whoa!
While thie XGL stuff is totally freaking awesome, I’m not sure it all will be that exciting once you’e shaken a dozen or so jello windows. Still, the first video above depicts a DVD or movie file playing while the desktop is changing up via a cube transition. What’s slick is that the video bends around the corner of the cube while continuously playing.
When you’re looking at photos of star trails, many people overlook the fact that they can usually hide some interesting details.
On the surface, this photo called Gemini South Star Trails is just another pretty picture. However, if you look closely you’ll see two smudges in the photo and one streak going against the grain of the photo next to the observatory.
The next time you look at these long-exposure photos, look for some of these details.
Stars seem to arc through southern skies in this surrealistic time exposure -- recorded before moonrise from the Gemini South Observatory, Cerro Pachon, Chile, Planet Earth. During the one hour 40 minute exposure camera and tripod were fixed, so the concentric star trails are a reflection of Earth's daily rotation about its axis. The view looks to the south and includes the Gemini telescope enclosure in the foreground. At the apparent center of the curving trails, the South Celestial Pole lies just off the upper left edge. Two faint, wide streaks track the Magellanic Clouds, satellites of the Milky Way Galaxy, while a meteor flashes throught the scene just left of the observatory.
(Link)
If you read my blog, you know that I’m interested in Astronomy. I’ve made lots of posts on Astronomy over the years. I’ve even made my own crappy movies using some of the software I use, Starry NIght Pro:
So, many of you may know about the recent turmoil over Pluto (cartoons here). Well, the BBC news has an article that describes the recent naming of the bastard planet, er. Dwarf Planet, which started all of the trouble. Meet Eris:
The distant world whose discovery prompted leading astronomers to demote Pluto from the rank of "planet" has now been given its own official name.
Having caused so much consternation in the International Astronomical Union (IAU), the object has been called Eris, after the Greek goddess of discord.
Eris is larger than Pluto, which put scientists in the fix of having to call them both planets - or neither.
Both bodies have now been put in the new classification of "dwarf planets".
Eris' discoverer, Michael Brown of the California Institute of Technology, told the Associated Press that the name was an obvious choice, calling it "too perfect to resist".
In mythology, Eris caused a quarrel among goddesses that sparked the Trojan War. In real life, Eris also caused strife, forcing scientists to produce a strict definition of the term planet - and that eventually led to Pluto losing the status it had held since its discovery in 1930.
The need for a strict definition was deemed necessary after new telescope technologies began to reveal far-off objects that rivalled Pluto in size.
This is an ultra-violent gore-fest starring our favorite baldy, Charlie Brown.
(Link compliments of Google Video)
Oh, you need a dose of cute to balance that?
This striking moon mosaic would make a great desktop wallpaper for all of you space junkies out there.
No single exposure can easily capture faint stars along with the subtle colors of the Moon. But this dramatic composite view highlights both. The mosaic digitally stitches together fifteen carefully exposed high resolution images of a bright, gibbous Moon and a representative background star field. The fascinating color differences along the lunar surface are real, though highly exaggerated, corresponding to regions with different chemical compositions. And while these color differences are not visible to the eye even with a telescope, moon watchers can still see a dramatic lunar presentation tonight. A partial eclipse of the Moon will be visible from Europe, Africa, Asia, and Australia.
(Link)
One of my friends asked me what XAML was. I replied to the best of my ability:
At some point, I'll glassify my blog logo.
XAML is the XML markup which is one way to get visual stuff done in WPF, the Windows Presentation Foundation. The other way is through code. Vista and soon extensions to XP will let you write applications with a declarative interface. Typically, in Java or C#, you might write a UI by doing something like this:
Button btn = new Button();
btn.Foreground = Brushes.LightSeaGreen();
btn.FontSize = 32
btn.Content = "Hello, XAML!"In WPF, you can do that but you can also declare the UI like you would HTML... which has some nice succinctness and layout power:
<Button Foreground="LightSeaGreen" FontSize="32pt">
Hello, XAML!
</Button>This example was taken from Charles Petzold's new book: Applications = Code + Markup: A Guide to the Windows Presentation Foundation sure to be the next classic just like his original Programming Windows.
Next up is a bouncing ball demo done in WPF, and not Microsoft XNA. The ball will bounce on a glass surface and the reflection will show in real-time. This is the power of the visual brush which is used to paint the reflected surface. It dynamically changes as the source image used to create the visual brush changes.
I think amazing games can be written in WPF, which has support for 3D. You can, for example, create a nice visual and then stick it on a cube and rotate it in 3D. The visual can even animate as the cube rotates.
It’s also kind of a flash-killer. Eventually, Microsoft plans on writing a scaled-down engine to run on other platforms such as Linux and the Mac. This scaled down platform is called WPF/E (E for Everywhere, I think).
Cool stuff.
If you ever wanted to create a reflection like those found on the Web 2.0 Logo Creator by Alex P, I have documented the steps here.

Basically, the steps are simple and the approach is strikingly similar in both Adobe Illustrator and XAML. First, I’ll explain how to do it in AI.

Doing the same thing in XAML is just as easy, but with an extra ultra-cool twist. What I want to do this time is mirror a graph, this one:

Creating the graph is pretty easy. I used Expression Interactive Designer and just drew the lines, changing their colors on a whim. The resulting XAML is easy.
<
Canvas Margin="0,0,0,0" x:Name="canvas" Width="420" Height="122" Background="#FFFFFFFF"><
Path Stroke="#FF000000" Width="420" Height="122" Data="M0.50000001,0.5 L26.662557,43.311456 54.01432,62.33877 82.555291,42.122249 118.2315,40.933042 178.88107,43.311456 202.66521,51.635906 222.88173,56.392735 269.26081,71.852427 316.82909,76.609256 346.55927,46.879078 370.34341,26.662557 389.56465,21.554452 409.78117,28.689695 416.72249,18.338107" Canvas.Left="1.28546878695488" Canvas.Top="18.3114880025387" /><
Path Stroke="#FFFF0000" Width="420" Height="122" Data="M1.7854688,18.811488 L29.137232,17.622281 52.921375,27.135938 81.462346,24.757524 110.00332,30.703559 175.40971,11.676246 202.76146,5.73021 217.03195,41.406425 259.8434,41.406427 305.03327,43.784842 335.95266,29.514355 350.22315,16.433075 388.27777,14.054661 408.49429,21.189904 421.57557,22.379112" /><
Path Stroke="#FF00FF00" Width="420" Height="122" Data="M0.50000001,5.256827 L27.755502,42.838074 51.635906,13.581277 83.648237,51.162524 108.71785,17.148898 174.02798,23.81076 200.19053,57.108559 220.40705,69.000631 256.08327,67.811424 310.7868,51.162524 332.19252,33.324417 348.93768,2.878414 386.9923,0.49999999 407.20882,7.635243 420.2901,8.824451" /></
Canvas>
Lots of data points, but nothing to be afraid of. Just a canvas and three paths. I then stick this in a StackPanel so my mirrored graph can appear right below the normal graph.
<StackPanel Width="420" HorizontalAlignment="Center">
<Canvas Margin="0,0,0,0" x:Name="canvas" Width="420" Height="122" Background="#FFFFFFFF">…</Canvas>
<Canvas Margin="0,2,0,0" Width="420" Height="122">…</Canvas>
</StackPanel>
Now, I want to paint t he lower canvas with a VisualBrush. Notice that the upper canvas has a name, “x:Name=”canvas”. When I paint the lower canvas with a VisualBrush, I name “canvas” as the Binding ElementName, like so:
Canvas Margin="0,2,0,0" Width="420" Height="122"><
I then need to flip the VisualBrush, this is easy with a simple ScaleTransform passing -1 to ScaleY
<Canvas Margin="0,2,0,0" Width="420" Height="122">
<Rectangle Width="420" Height="122">
<Rectangle.Fill>
<VisualBrush Visual="{Binding ElementName=canvas}">
<VisualBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5" CenterY="0.5" ScaleX="1" ScaleY="-1"/>
</TransformGroup>
</VisualBrush.RelativeTransform>
</VisualBrush>
</Rectangle.Fill>
</Rectangle>
</Canvas>
Finally, we need to add the Opacity Mask like we did for the Illustrator object. In XAML, instead of a filled rectangle, we specify an OpacityMask on the existing rectangle, like so:
<Canvas Margin="0,2,0,0" Width="420" Height="122">
<Rectangle Width="420" Height="122">
<Rectangle.Fill>
<VisualBrush Visual="{Binding ElementName=canvas}">
<VisualBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5" CenterY="0.5" ScaleX="1" ScaleY="-1"/>
</TransformGroup>
</VisualBrush.RelativeTransform>
</VisualBrush>
</Rectangle.Fill>
<Rectangle.OpacityMask>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
<GradientStop Color="#44000000" Offset="0"/>
<GradientStop Color="#00000000" Offset="1"/>
</LinearGradientBrush>
</Rectangle.OpacityMask>
</Rectangle>
</Canvas>
That’s it, our final product looks like so:

So, what’s the extra cool twist with doing this in XAML? Using the interaction designer, once you set up the VisualBrush, the bottom reflection responds in real-time as you manipulate the source of the Visual Brush! Don’ you get it?! It’s incredible.
If you are not as excited as me, write me and perhaps I’ll do a titillating screencast.
I tweaked my XNA Game, adding gravity and bouncy behavior.
The code is pretty easy to get 90% of it right, but there is still some strangeness that I could spend some time cleaning up.
Gravity is merely adding speed over time. So, the stock code provided by the MS tutorial simply kept the “speed” at 1 and updated the Y height by 1 on each update. When the ball hit the bottom, it then moved up at a “speed” of 1.
For this demo, I modified the speed adding gravity which sped up the ball. Speed simply increases and I update the Y height by speed on each update.
When I hit the bottom, speed reverses in a perfect elastic collission. On the way up, speed is negative since Y=0 is at the top. Gravity, however, keeps pulling speed from negative to 0, and then back into positive, causing the ball to fall back down.
I added a friction coefficient which slows down the ball over time, multiplying speed (positive or negative) by a constant factor.
If you’d like me to post my code, let me know. If you’d like to correct my math, please do!
While I was speeding home from NYC on the LIRR, I tried to get Microsoft’s XNA Game Studio Express to run on my copy of Vista (build 5536). It didn’t work. What’s more annoying is that the problem was at the very end of the install and happened either when it was installing project templates (which is the last thing the installer said it was working on) or when it was trying to install the latest DirectX runtimes. I suspect the latter, or perhaps some other issue. I tried to perform a custom setup but I couldn’t deselect the DirectX portion… nor any portion of the setup for that matter.
It looks like I’ll only be doing WPF on my Vista box.
I really need to create a separate feed for this crap… my YouTube addiction.