|
|
|
|
Friday, January 10, 2003
"...We can no longer remain bound to the NPT (nuclear Non-Proliferation
Treaty), allowing the country's security and the dignity of our nation to be
infringed upon...After the appearance of the Bush Administration, the United
States listed the DPRK as part of an ’axis of evil’, adopting it
as a national policy to oppose its system, and singled it out as a target of
pre-emptive nuclear attack, openly declaring a nuclear war....The withdrawal
from the NPT is a legitimate self-defensive measure taken against the U.S. moves
to stifle the [nation of North Korea]"
- The DPRK government (full
text is here)
Meanwhile, our forces are massing in anticipation of a brawl with Iraq, and
Turkey, which is already set to become a base for air strikes, is voicing resistance
to providing a base for ground troops in a move against Hussein.
Interesting points from an MSNBC
story:
U.S. officials said they did not view Richardson as an envoy and said he
would convey nothing more than the public U.S. position that Washington wanted
Pyongyang to scrap its nuclear programs, which violate a 1994 U.S.-North Korean
agreement, and would not offer it inducements to do so. ...
Richardson is in some ways an unlikely person for U.S. President George Bush,
a Republican, to allow to play the role of an intermediary because the New
Mexico governor is a Democrat once seen as a likely vice presidential candidate.
...
The United States, which does not have diplomatic relations with North Korea,
requires Pyongyang’s diplomats at the United Nations to seek permission
if they wish to travel more than 25 miles from Columbus Circle in New York
City. ...
Separately, South Korea’s ambassador to Washington said in an interview
with Foreign Affairs magazine released Thursday that the United States and
its allies could have given North Korea more time before suspending fuel shipments
last month.
Ambassador Yang Sung-chol said withholding the fuel was “a contributing
factor” to the North’s decision to expel the U.N. inspectors.
“They cannot go without [being] punished, but we could have given them
some breathing space,” he added.
Did you ever get the impression that one day the US might just run out of "friends"
around the world? And, when the guano really hits the impeller, whose faces
do you think will get sprayed first?
:::
Don't know if all
of these artists are from Williamsburg (I actually doubt it), but Billburg.com
has a very nice collection of artists anyway — and the affilitation with
that little village can't be bad. You can even register and create your own
gallery (I might just do that). Having been to "Billburg" a few times,
I can definitely say that I like what's going on over there. The vibe is very
bohemian and very expressive, even if some of the graffiti lacks polish.
:::
Sneaky, sneaky...
I ran through a handful of sample questions in preparation for the Flash MX
Developer exam last night. The only one I got wrong was this one:
What appears in the output window when this ActionScript is executed?
test = 5;
#include "myfile.as";
trace (test);
[myfile.as contains:
test=10;
]
A) 5
B) 10
C) test =10
D) error message
Well, here's my overall thinking: "myfile.as" is an external ActionScript
file, which is going to be interpreted inline, as if it's part of the main body
of code. That means that the variable "test" is going to be initialized
at 5, then set to 10 by the included statement. Since the trace instruction
shows up after the include, the answer must be B, right?
Nope! I didn't think about what the question was really about. Turns out this
is not well-formed code. #include statements don't work, if you terminate them
with a semicolon. The line should read #include "myfile.as"
instead of #include "myfile.as"; That extra semicolon
will kick an error. I know to avoid the semi when I'm writing the code. Now,
the trick is to look out for how they might phrase the question in the exam...
:::
Heard an interesting "factoid" in the news last night: Former mayor
Giulianni's police bodyguard detail costs the city a million bucks a year. Now,
the detail has recently been cut back, so Rudy will now pay for his girlfriend's
security out of his own pocket... I just don't know if it's down to a $mil now,
or it used to be a $mil, and it's maybe $750k now... Interesting, because they're
talking about deleting the high school public health clinics altogether, to
save something on the order of $700K a year...
:::
Well, that's all for now. It's sleepytime.
It gets interesting
I just found a blog
by Dave Hyatt, one of Safari's developers. It's amazing to see the thing
working in a semi-interactive way. Somebody comments on problems with Safari
in their own blog, and Dave responds on Surfin' Safari. Nice.
This piece of commentary was particularly interesting to me, being not so fond
of how many DHTML sites have essentially forced visitors to use specific browsers
because of the way their sniffer code works:
...You would not believe (well, maybe you would) how much DHTML exists out
there that works only with MSIE or Gecko, and that uses proprietary extensions
of each to accomplish the DHTML effects.
Had we released a browser with a UA string that did not superficially match
either MSIE or Gecko, users would have downloaded Safari and experienced many
malfunctioning Web sites. If anyone thinks that would have been a good idea,
please step forward in your blog and explain why. I'm willing to listen.
Our solution was a compromise. We produced a user agent string that is different
from Gecko's and easily distinguishable if you choose to sniff for it, but
that at this time will pass most UA checks that sniff for Gecko. It may be
that enough sites will start sniffing directly for our string that we can
drop the "(like Gecko)" from our user agent string, but I'm not
optimistic.
We chose to be more like Gecko than like MSIE because we wanted to be lumped
into the standards compliant category, because fundamentally we are committed
to supporting DOM 1&2, CSS1&2, and enough proprietary MSIE extensions
and Gecko extensions (innerHTML, createContextualFragment, offsetWidth/Height,
etc.) that we could be placed in a similar category.
Turns out I was wrong about Safari being based on Gecko. It's based on something
called KHTML, which partially explains why NS6 was gawd-awful slow and buggy,
and Safari sings.
Gotta say, I'm loving Safari. There are very few problems with the beta. In
fact, I'd venture as far as to say that this beta release is better than some
release versions of Netscape or IE. It seems that the problem I'm having with
Blogger has to do with Blogger code that may explicitly block Safari. Hopefully,
that'll get cleaned up soon. I'm looking forward to the day when I get to "unplug"
IE.
:::
Is it possible to love cats too much?
Chris has found
an exceptionally "appropriate
business use" of Flash. (Hope your speakers aren't turned up too loud...)
Thanks, C.
:::
Interesting
story about this image: It was part of a Sessions.edu billboard on the side
of the SoHo building where Sessions have their offices. When it went up, the
"student" had no clothes, but the landlord threatened to take action against
them, if the model didn't get dressed. Sessions altered the billboard. There
are ads in magazines that show more. Does that scare you? Do naked bodies scare
you?
If "sex sells", what does fear do?
I've been struck by that question more and more since watching "Bowling
for Columbine." The phenomenon is very similar to what happened to my perceptions
after taking a course called "Sex
and Media" on Sessions.edu.
In that course, one observation is that the depiction of sex actually just gets
your attention. It's also quite odd, some of the products that use association
with sex to push their decidedly unsexy products.
What I see so far about fear, is that it is used to sell allegiance: "In
a minute, we're going to tell you something really scary, so don't touch that
dial." or "We have reason to believe something really horrible is
going to happen. We're going to do the best we can to protect you, but ultimately,
you're on your own. We thank you for voting for us, and we expect to be rewarded
for our candor come the next election."
Last night, I saw a piece about the problems associated with implementing and
enforcing the various versions of "Meghan's Law" — requiring
sex offenders to register with the local governments where they live, and those
governments in turn advising their residents. The story went on to report that
30,000 (or was that 33,000) sex offenders were unaccounted for in the state
of California! 33,000 people is a whole F***ing town! What's missing from this
picture? How do that many people get labeled "sex offender"? What
are the criteria? What's going on? Are we breeding more sex offenders than ever
before? Are you guys trying to scare me?
:::
I read a little of Dave Winer's blog today. I love his prediction
about adding a tabbed interface to Safari (and another reason I should have
realized it's not just Chimera repackaged — Chimera already has tabs).
I'm Coming Out...
As funny as that little piece was, I was struck by a comment he made somewhere
about having reinvented himself 4 times (but who's counting?). It struck me,
because I realize I've been struggling with my own process of reinvention for
some time now.
A year ago I would have characterized my explorations in visual art more as
a hobby or curiosity, than anything else. As an artist, I had characterized
myself as a singer, but I'd lost a lot of my interest in singing. I called myself
a web developer, more than a designer, and I considered my greater skills to
be in coding; yet I didn't have a decent grasp of Flash, and my web coding was
not at the level of mastery.
Well, I've done a lot of work since then. That Diana Ross tune ought to be
my new theme song. I don't have a nice capsule phrase to describe myself yet.
Maybe I never will, but my thing is about the fusion of art and science. Functional
beauty. Storytelling. There's more. I've tapped into some visual themes that
are a well of inspiration for me. I plan to explore, and to exhibit my work
this year, beyond what I can put up on the web. And for the first time in a
while, I'm actually starting to think poetry again.
In the midst of all that, is the need to make a decent income. I see some new
options and possibilities. I don't have to sell out to some stodgy corporation
to make a living. I don't have to be afraid of who I am...
Thursday, January 09, 2003
What's in YOUR inbox?
When I'm drivin' in my car
and that man comes on the radio
and he's tellin' me more and more
about some useless information
supposed to fire my imagination....
When I'm watchin' my TV
and that man comes on to tell me
how white my shirts can be.
Well he can't be a man 'cause he doesn't smoke
the same cigarrettes as me.
I can't get no, oh no no no.
Hey hey hey, that's what I say.
:::
Today's Flash Exp: Pretty simple interaction experiment. Move
the cursor toward the center of the dot, and watch it grow. Click it, and watch
it respond. There are a couple of subtleties. I'm using shape tweens to scale
the circle, but I've added easing, so that the scaling over time is not linear.
The message fades disappears after a delay, which is controlled by setInterval().
Here's the code:
/* FYI, there are two movie clips on the stage:
growboy and ow_mc, which is hidden until it's needed
growboy has a stop action in the first frame, and
has shape tweens labeled "grow" and "shrink."
*/
function say_ow()
{ ow_mc._visible = true;
_root.hider = setInterval(shut_up,1000);
}
function shut_up()
{ ow_mc._visible = false;
clearInterval(_root.hider);
}
/*Note: the "this" keyword is scoped to growboy
because it's referenced inside growboy's onRollover callback.
*/
growboy.onRollOver = function() {this.gotoAndPlay("grow");}
growboy.onRollOut = function() {this.gotoAndPlay("shrink");}
growboy.onRelease = say_ow;
ow_mc._visible = false;//hides ow_mc when the stage initializes.
While I'm at it, I was playing around with ways to loop sounds. Take a look
at this:
mySnd = new Sound();
mySnd.attachSound("guitar.wav");
mySnd.onSoundComplete = function(){mySnd.start()};
mySnd.start();
It's a pretty trivial way to use the onSoundComplete callback, but it may actually
be what the player is doing anyway when you use a loop parameter with the sound.start()
call, e.g.:
mySnd.start(0, 999);
I always thought that looping 999 times was kind of bogus.
:::
Among other things, I'm working on my resume and portfolio today. Unemployment
insurance is just about up, and a 13-week extension isn't much.
This from a story about the extension:
"Frankly, it's the least they can do," said House Democratic Leader
Nancy Pelosi of California. "But we can do better."
But Texas Rep. Tom DeLay, House majority leader, said,
"nothing is good enough" for Democrats. "I would venture
to guess that they would have unlimited unemployment compensation so somebody
could stay out of work for the rest of their lives."
Voting against the bill Wednesday were Republican Reps. Jeff Flake of Arizona,
Jeff Miller of Florida, Ron Paul of Texas and Scott Garrett of New Jersey.
... uh, yeah - DeLay is joking, right?!
Wednesday, January 08, 2003
Went surfing for a little inspiration and edification this morning.
Came across PixelGirlPresents, which has some nice
desktop images.This
one's my favorite so far:
My favorite site? PXP2000.It's
one of those zork-ish sites with wonderful little "rooms" to wander
into. I found this guy in one of the rooms off the splash page.
...Also got some answers (elsewhere) about building icons
for OS X.
Playing around in Safari, I discovered some very nice features in the security
preferences: integraged pop-up window blocking, and the option to block cookies
from advertisers without blocking cookies from the sites you intend to visit.
Nice touches.
Penn, VIP
Boy, this is good. Penn Gillette of "Penn & Teller" fame had an
interesting run-in
with security at the Las Vegas airport.
..."You have to ask me before you touch me or it's assault."
He said, "Once you cross that line, I can do whatever I
want." ...
I tell the cop the story, in a very funny way. The cop, the
voice of sanity says, "What's wrong with you people? You can't just grab
a guy's crank without his permission." I tell him that my genitals weren't
grabbed and the cop says, "I don't care, you can't do that to people.
That's assault and battery in my book." ...
I said that I had talked to two lawyers and they said it was
really a weird case because no one knows if he can be charged with assault
and battery while working in that job. But I told her, that some of my lawyer
friends really wanted to find out. She said, "Well, we're very new to
this job . . ." and I said, "Yeah, so we need these test cases to
find out where you stand."
She said, "Well, you know a LOT about this." I said,
"Well, it's not really the right word, but freedom is kind of a hobby
with me, and I have disposable income that I'll spend to find out how to get
people more of it." ...
Throughout the entire encounter, the security folks kept telling the LV police
officer that they "had no problem with" Penn, and that he was free
to go. It seemed really hard for them to gather that maybe a customer could
have a problem with them.
Tuesday, January 07, 2003
Got a link to Can
We Have Our Ball Back from Bob Slaymaker. He has this
poem in issue 15. There's some good stuff on the site. I hate the architecture,
though.
The latest Flash installment:
I think I mentioned this little creation in an earlier post. As you move your
mouse along the horizongal axis, the swatch changes colors. The swatch gets
more transparent, as you move toward the bottom.
Wondering what the code looks like?
//define an array to hold the color values
aColors = new array();
aColors[0] = 0xFF0000;
aColors[1] = 0xFFFF00;
aColors[2] = 0x00FF00;
aColors[3] = 0x0000FF;
aColors[4] = 0xFF00FF;
//set the textfield instance called "reporter" to listen for mouse events.
mouse.addListener(reporter);
reporter.onMouseMove = function(){
/* onMouseMove coordinates are local to the reporter
object's space.
To convert to stage coordinates use localToGlobal, which
operates on
a piont object*/
point = new object();
point.x = math.floor(_xmouse);
point.y = math.floor(_ymouse);
localToGlobal(point);
/* calculate index values for the color and alpha values
of the
color object movie clip:
divide the horizontal space into 5 segments, and set
the alpha
to a value between 20 and 100*/
ndx = math.floor(point.x/Stage.width*5);
andx = 100 - math.floor(point.y/Stage.height*80);
//set the color of the movie clip
ColorObj = new color(color_mc);
ColorObj.setRGB(aColors[ndx]);
color_mc._alpha = andx;
//set the text of the reporter text field
this.text = point.x+" ["+andx+"%]";
//make the redraw independent of frame rate:
updateAfterEvent;
}
I'm playing
around with Safari (beta1), Apple's new web browser, no-doubt based on Mozilla.
So far, it's quite fast, renders nicely, and instantly looks better than Chimera
or (blecch!) Netscape 7. Heck, I'm posting this message with it. I'd love to
take ol' Internet Exploiter off my desktop... we'll see how that goes, when
I start messing with some web apps. Knowing Apple, they'll make a real solid
effort with this one. I'm already happy that there's an integrated Google search
field right next to the address field. Nice.
:::
Hanging out at
Starbucks (you bet I'm hooked) this afternoon I saw a woman actually try to
take a friend's picture with one of those little cell-phone cameras. It was
a Motorola T720i , and T-Mobile sold it to her at a hefty discount because she's
a long-standing customer. The current promo includes the camera for free. I
figure that's in part because of the bandwidth they get to charge you for, if
you send those images via your cell phone and e-mail. I figure that's two accounts
you have to establish - a little more fun for probably twice the price...
:::
I caught a glimpse of some of the economic chit-chat following the latest "econonomic
stimulus" package that the White House has come out with. The headline
on the TV read "It's the Economy - Again." Funny, that was the position
of a *ehem* Democratic president that some people seem to have such
a great time trying to pillory; but I digress. Well, looks like he's going to
get away with greasing the palms of the very rich once more. I heard this one
pundit pooh-pooh the counter-proposal from the Democrats, which would put a
little money in the pockets of all citizens, rather than concentrating it in
the pockets of the richest few. He painted himself into a corner, suggesting
that the amount would only work out to about $300 - the size of the rebate that
His Bushness himself made a big deal about shortly after he took office.
The mumbo-jumbo really centered around the assumed validity of the whole "trickle-down"
economic theory pioneered by Ronnie Reagan. Part of that theory assumes that
given a tax break, the very rich are going to try to get even richer by creating
more jobs with that money; something that is not so possible for the middle
class or the poor. I have a modest proposal, then... If you're trying to stimulate
job creation, why not index the tax break to the number of documentable new
jobs created?
I also have a sneaking suspicion that the statistics that measure the state
of the economy will improve faster if you focus the tax breaks around the financial
sector and the very rich. It's worth looking into.
:::
Dubious honor
I had to laugh, when I looked at the magazine cover yesterday.The tag
line read "THE ILLEST MEN'S MAGAZINE." I guess the publishers of King
Magazine are betting that a lot of their readership likes to think of themselves
as "ILL." :::
Might have found my first bug with Safari (I figured the rubber would meet the road with web apps, and it did): When I pressed "Post" in my Blogger editor, the window closed, instead of updating the bottom frame and refreshing. I gasped a little when the window disappeared. Since another window was still open, I realized it hadn't quit on me. And fortunately, the post was safe and sound on the Blogger server.... to be continued...
Oh, yeah. Safari also has a little bug reporter button at the top. Not only can you type in your message (I did), but you have an option to specify the type of bug (in this case "wrong behavior") and even capture a screen shot or the source code of thecurrent page. I didn't send any code or pics. Hopefully, they'll talk to Pyra and figure out what's going wrong.
|
|
|
|
|