October 15, 2007

Does this blog still work?

It's been 2 years since I last posted. I am now re-enabling the blog and checking the system.

Testing posting...
Renabled captcha and comments...
Testing comments...
Testing entry update...
Testing extended entry...

Ok, looks like the blog works :-)

Posted by samuel at 08:14 AM | Comments (12)

November 06, 2005

Let's go exploring!

Hi Friends,

Thanks for reading my blog. Thanks for the comments, links, and conversation! I've enjoyed blogging, and I hope you've enjoyed my posts and source code these past four years.

Posting on this blog has paused indefinitely while I tend to other things.

All of my posts and files will remain available, but comments have been disabled.

Let's go exploring!

-Sam

Posted by samuel at 04:27 PM | Comments (0)

October 19, 2005

Freemind has undo

Probably not a big deal to anyone except fans of Freemind, but I checked their wiki today and the latest release finally has undo.

I love Freemind. Freemind is an essential part of my day.

Posted by samuel at 05:28 PM | Comments (0)

Two scientists

Recently, I had the chance to attend two different guest lectures sponsored by Microsoft Research.

The first was Michael Deering's presentation, which extended at least an hour after it was supposed to end. He gave an unabridged version of his siggraph lecture on a photo accurate model of the human eye. One vivid memory of his lecture is of the last few minutes, when he described his simulation-based approach to approximating the pushed-together arrangement of replicating cells on the retinal surface. and then immediately jumping into using his model to test the quality of different graphics cards and display projectors! It was insane!!!

The second was Ray Kurzweil's presentation on emerging technologies. His website is at
www.kurzweilai.net
. He surveyed the rate of emergent technologies through the history of man, which suggested some startling probabilities when he graphed his data logarithmically instead of linearly.

I was really surprised that all that data, like IRTS' reports, was just waiting for someone like Kurzweil to piece together into a hypothesis. Also, a lot of Deering's math was waaaay over my head, like taking into account quantum effects on photon trajectory calculations yadda yadda. I understood just enough during these lectures to be reminded that there are folks out there still doing basic science. Yeah, it's so easy to dismiss the ivory tower as uncool and irrelevant to the "real world" of multimedia design and UI frameworks, but I think these occasional glimpses are humbling and inspiring :)

Posted by samuel at 12:41 AM | Comments (0)

October 06, 2005

Insane DHTML

http://www.dhteumeuleu.com/

Check out the 3D section...

Posted by samuel at 11:13 AM | Comments (1)

September 27, 2005

Mix-ins and the UIComponent framework

Disclaimer: have not studied Flash 8 yet, don't know if mixins are still an issue in the new generation of the component framework. I just remembered this issue when I revisited DHTML. I'm not saying the event dispatching approach in Flash is even good, I'm just saying if it's the accepted convention, there are ways to implement it without mix-ins.

Event dispatching capabilities are mixed into UIComponents by calling EventDispatcher.initialize(targetObject) from within the ui component's constructor.

I remember describing all this to Carol King on a whiteboard years ago... composition over inheritance: make the dispatcher a private member of the base component class with a public accessor, and call the dispatcher appropriately...

:::pseudo-code
class ComponentClass()
{
ComponentClass()
{
this.dispatcher = new Dispatcher();
}
public Dispatcher getDispatcher()
{
return this.dispatcher;
}
private void whenSomethingHappens()
{
var e = new Object(); // or some event type
this.dispatcher.dispatchEvent("onSomethingHappened", e);
}
}


var c = new ComponentClass();
c.getDispatcher().addEventListener("onSomethingHappened", this, "HandleSomethingHappend");

function onSomethingHappened(e)
{
trace("event=" + e);
}

Just a little pet peeve I remembered, and could be fixed easily. Mix-ins don't taste good.

Posted by samuel at 03:11 PM | Comments (0)

September 25, 2005

QuirksMode

Here's a description of the QuirksMode website from the author:

"QuirksMode.org is the personal and professional site of Peter-Paul Koch, freelance web developer in Amsterdam, the Netherlands. It contains more than 150 pages with CSS and JavaScript tips and tricks, and is one of the best sources on the WWW for studying and defeating browser incompatibilities.
It is free of charge and ads, and largely free of copyrights."

I just thought it was a really cool attempt at documenting browser incompatibilities.

Posted by samuel at 06:17 PM | Comments (0)

September 22, 2005

Mano Returns

Manuel Clement, known to old-schoolers as Mano, has a blog about stuff he's doing at work.

http://spaces.msn.com/members/manodesign/

Flashback: I remember Mano carefully tracing vectors over images exported from 3DS Max and building his SWFs frame-by-frame... must have been several years ago when Flashpad was still around.

Posted by samuel at 11:13 AM | Comments (0)

September 06, 2005

Leeroy!!!!

Leeroy!!!

I've never played WoW, but this movie is funny. Anyone remember ROM MUD?

Posted by samuel at 08:47 PM | Comments (0)

August 28, 2005

Really cool bio

I don't even remember how I got to this site, but it's inspiring to see someone bounce from thing to thing, following their passion: http://djdb.com/MainSite.html

I am having a great weekend, questioning assumptions, long-range planning, generally getting things done and working on projects with other folks who also want real results.

I visited New Orleans many times during my seven years in Mississippi. My thoughts are with those about to face the hurricane.

Posted by samuel at 05:51 PM | Comments (0)

August 25, 2005

Funny post about Get

This is a funny lesson on architectural intent :-) Google's spider inadvertently triggers behavior on some web applications.

Posted by samuel at 09:14 AM | Comments (0)

August 18, 2005

Hello, new hotness

There are rumors that Google will announce a new instant messenger product.

The fact is that Google has already shipped an instant messenger product called "Hello". Last night at home, I wrote a competitive analysis too long to post here, but the gist of my observation is that Hello represents Google's impressive first step towards winning the peer-to-peer market. Not the music, photo, or generic file-sharing p2p market... THE WHOLE MARKET for peer-to-peer communication... the yin to the yang of Google's centralized data store.

Posted by samuel at 03:55 PM | Comments (1)

August 15, 2005

Back from Vacation

I just returned from Hong Kong and southeastern China. It was my first long vacation since graduation several years ago.

Hong Kong is a uniquely evolved commercial hub in the world. I always enjoy immersing in its combination of cutting-edge infrastructure, civil society, and old-school grit.

Late morning in the Mong Kok district, on the Kowloon side of Hong Kong. Not yet packed with the night scene crowd.

A small section of the Hong Kong harbor. I think it's the Central district.

Revisiting my roots in the Cheung Chau and Macau islands, often weekend destinations for Hong Kong residents.


From Shen Zhen to Guandong to Guillin, a density of fresh skyscrapers and construction cranes have become the new landscape. I did not see blue skies the whole time I was in China, just hazy grey air caused by the country's fast growth. Here are some shots from Guillin, famous for its natural landscapes.

The elephant rock hill in Guillin, inside the China mainland, with some fishing pelicans on a bamboo river raft.

Near downtown Guillin, where buildings pop up overnight next to ancient rock and mountain formations.

Guillin as seen from a mountain top. More construction cranes

Posted by samuel at 10:59 PM | Comments (0)

June 27, 2005

Gossman's article on programming languages

John Gossman has an article on programming languages. Some neat insights into why people perceive a difference in professionalism of languages.

John reduces the cause of these perceptions to two factors:
- Quickness of development versus Scale
- Interactivity of development experience versus Performance of deployed code

I totally agree that it's just a matter of perception, and that these perceptions can change over time. My hobby language this month is Smalltalk-80, which is a 'serious' old language; it's wonderful that elementary school kids who play in the Squeak environment perceive smalltalk as a toy. On the other hand, software engineers might perceive Flash and actionscript as a toy, but it's been used to build some serious web applications. It depends on your perspective.

Anyways, great article.

Posted by samuel at 05:25 PM | Comments (2)

June 19, 2005

Backpack

http://37signals.com/svn/archives2/backpack_preview_3_web_10_calling_web_20.php

http://backpackit.com/

http://homepage.mac.com/svc/ADayAtTheBeach/

There's low-hanging fruit everywhere! Aaaaaaah!!!

:-D

Posted by samuel at 08:24 PM | Comments (2)

Equal-sign moments

http://smallthought.com/blog/?p=7

Yeah, I'm so there, ever since the new year.

-Sam

Posted by samuel at 08:10 PM | Comments (4)

June 17, 2005

June 05, 2005

Comments seem to work again

Comments seem to work again. One day, I would like to migrate to blojsom, but my hosting service doesn't support servlets, and I don't know how to migrate all the MT data to blojsom.

Posted by samuel at 09:21 AM | Comments (4)

May 22, 2005

Atom WG

Mailing list of IETF working group for the Atom spec: http://www.imc.org/atom-syntax/mail-archive/maillist.html

What's interesting is that they're bogged down right now on semantics related to concurrency and flavors of attribution.

Watching an IETF WG at work is humbling and eye-opening. Constructing a common vocabulary with painstakingly clear semantics is the fundamental first step in problem solving with other people. Wow.

Posted by samuel at 04:25 PM | Comments (0)

May 18, 2005

not unaware of atom

Yes, i'm aware of atom (http://www.intertwingly.net/wiki/pie/FrontPage, http://www.atomenabled.org/).

Posted by samuel at 11:58 AM | Comments (0)

May 10, 2005

More crazy Microsoft Architects

http://www.simplegeek.com/PermaLink.aspx/869d8de6-8d47-4507-bc2b-579c26b7625c

help... the architects have gone mad...

Posted by samuel at 10:13 PM | Comments (0)

May 09, 2005

Found it!!!!!

http://www.mod-pubsub.org/

I'm so behind the times, but I'm sooo going to catch up :-)

Posted by samuel at 11:14 AM | Comments (0)

May 08, 2005

More blog and REST scent

http://polarfront.org/polarfront.html
Client and server platforms with full http verb support
Interesting thread on SOAP vs REST
http://www.opencroquet.org/
http://www.squeak.org/
http://www.doc.ic.ac.uk/~jnm/book/

People, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time, people, network, data, time.

Posted by samuel at 02:28 PM | Comments (0)

May 03, 2005

IronPython and Avalon

John Gossman's blog includes a few recent entries about his IronPython efforts that has resulted in automation (scriptability?) of a large Avalon application using python. I have an idea for a new show hosted by Bill Cosby... "Architects Prototype The Darndest Things"

Posted by samuel at 06:39 PM | Comments (0)

May 02, 2005

Engaging the World

On my mind lately is the idea of engaging the world with intellectual honesty.

Related questions:
What does it mean to blog?
How does a blog engage the world?
How do various contexts (reputation, biography, profession, employer) alter the way a blog is perceived?
How do these contexts alter the intentions and actions of the blogger?
How do blogs alter the way a person is perceived?
How does dialog alter the participants' world view?
Is public perception of a blogger important, and how so?
What are possible goals for a blog?

Are there better alternatives to blogs which accomplish the same goals, without the tainting of various contexts?

Posted by samuel at 11:02 AM | Comments (0)

April 21, 2005

Canvas in Firefox

Pixel control at the browser level on the horizon: http://www.mozillazine.org/talkback.html?article=6461

Posted by samuel at 10:06 AM | Comments (0)

April 19, 2005

Comments don't work

Hey, someone just pointed out that my comments don't work. Ah, that's why nobody's commented lately. I was wondering if anyone reads this. It's been over a year since I've checked my hit statistics or referral logs. I don't know who bothers to read the blog of some Flash developer who gave up a jetset life of international travel, glamorous hacking, and rubbing shoulders with the hip designers de jour... to write specs and organize meetings in Building 42. Hah! It's like Forrest Gump meets Dilbert.

I'll fix the comment feature when I re-implement this blog.

Posted by samuel at 10:35 PM | Comments (0)

April 18, 2005

I would drink Frutopia in Macrodobia

Chris Pelsor and I tried to come up with possible names for the merged companies...

Macrobe - "We need more penicillin!"
Macrodobia - "I would drink Frutopia in Macrodobia"
Macrodobiemediobe - "Eenie-meeni-minie-mo, macrodobiemediobe!"
Adomedia - "The New Media Paradigm"
Afro - "Can you dig it?"
AcroMac - "Flash 9 Player, enhanced with 24 Megabytes of Postscript support"
MacDobe's - "Biggie-size my vectors, to go please"
Mobe - "Redmond's white whale"

Jokes aside, I sincerely wish my friends the best of luck in the upcoming months of change.

Posted by samuel at 10:03 AM | Comments (0)

April 17, 2005

competition on the internet

Flash-based ICQ client
http://www.icq.com/icq2go/

The internet is on my mind a lot lately. A lot of our careers have never known a world without the internet; the convergence of people, machines, and society is the root of what makes software design meaningful to me.

The Flash-based ICQ client is really cool. It makes me ask, "What does it mean to compete on the internet?" I interpret the word "compete" to mean the differentiation of your goods or services compared to others' towards some end goal, usually monetary profit. NetDictionary has the best definition of the internet: "A worldwide network of networks that all use the TCP/IP communications protocol and share a common address space."

So, competition on the internet seems to involve the differentiation of goods or services on a worldwide network based on TCP/IP, within a common address space. The definitions of competition and internet both imply the possibility of vigorous emergent behavior, but that's a relevant topic to be shelved for another time. Anyhow, I find the definition of internet competition satisfying for now, so let's ask a better question:

What is the best way to compete on a worldwide network based on TCP/IP, within a common address space? Let's break down this battle ground...

------------------------
TCP/IP - In order to participate on the internet, you must speak this protocol. (RFC)
------------------------
There is a family of competitive strategies that involve dominating some fundamental utility of an economy, but these strategies do not work with the internet. The internet's intrinsic value is its status as a commons for competition. Attempts to deviate from, subvert, destroy, or hinder the function of TCP/IP either reduce the value of the network as a whole, or cause the network to ex-communicate the origins of such attempts. So, it looks like the cost/benefits of dominating the internet are very low ;-)

--------------------------
Common address space - the same natural phenomemon that protects the integrity of TCP/IP also protects the universal adoption and function of DNS.
--------------------------
However, the human factor of limited memory makes short URL's more valuable than long URL's. Ownership of address space gains value towards the roots of the address space. For example, "geocities.com/arts/website2304" is less valuable than "about.com", which is less valuable than ".com". Ok, noted: the value of address spaces is proportional to their ease of memorization by humans... or at least ease of storage and retrieval at some level of human-computer interaction.

The value of tcp/ip, DNS is that everyone must observe their rules in order to use them. Given this battle ground, let's talk about differentiation of goods and services... all goods and all services must be transferrable via tcp/ip and either delivered to/from/via some address space.

Well, this raises more questions that I have time for tonight :)

Some side thoughts... HTTP is also another universal protocol but its longevity has less protection than TCP/IP. I guess the same comparison could be made between higher and lower levels in any architecture. Attempts to build protocols on top of HTTP have even less odds for longevity, like all the new SOAP and ws-* stuff, any complicated xml schema, etc.

More side-notes:
Rob Fielding's dissertation takes care to distinguish between static and dynamic approaches to architectural design. I haven't gotten to the juicy stuff yet, but his definition of the semantics of architecture are a great intro. Anyhow, I think he makes a point that software should take into account the connector elements of architecture (how data is transferred), and not only focus on the component elements (how data is transformed).

Another side note: at the Emily Carr school of design in the Granville neighborhood of Vancouver, there was a museum displaying some work by some architects that continues to evolve after 17 years. The quote on the wall was awesome, and went something like "Buildings change over time... we realized that change is a latent part of architecture".

Last side note: In chapter 1, the most valuable insight I gained as a non-computer-science person was that architectural styles and design patterns are not prescriptive structures or snippets of code you should re-use. Styles and patterns are recognition that some natural event occurs frequently or is valuable, and that the design of some structure should resolve or flow with the re-occurring natural event. So, I think it's very important to ask "what is this for?" or "what natural need or event am I trying to deal with in my project?". Second most valuable insight is that styles and patterns are not about re-using structures, but more about recognizing re-occurring events and adopting previous decisions in designing for these events... in other words, study what the trade-offs were, and why the decisions were made.

Posted by samuel at 10:59 PM | Comments (0)

April 04, 2005

Some REST links

Here's a link dump until I can build a better resource management framework for my projects. Rob Fielding's dissertation is 180 pages in PDF, but Kinko's has online printing. Decoupling REST from HTTP is interesting, but that's like saying that decoupling literary devices from languages is interesting. It's below the threshold of even long-term pragmatic value. Respect the lingua franca.

http://www.markbaker.ca/2002/03/RestRDF/
http://www.xml.com/pub/a/2004/08/11/rest.html?page=2
http://www.adambosworth.net/archives/000016.html
http://www.amazon.com/exec/obidos/ASIN/1932394060/qid=1112646813/sr=2-1/ref=pd_bbs_b_2_1/102-1136498-4824932
http://www.amazon.com/exec/obidos/tg/detail/-/0596006411/qid=1112646710/sr=8-2/ref=pd_csp_2/102-1136498-4824932?v=glance&s=books&n=507846
http://www.manageability.org/blog/stuff/why-rest-part-3/view
http://www.xml.com/pub/a/2004/12/01/restful-web.html

Posted by samuel at 02:09 PM | Comments (0)

April 02, 2005

February 23, 2005

The Scent

Economics and Sand Castles
Weblications
Ajax (albeit an overly glorified name for design patterns based on web-standards)

I remember a conversation in 2001 with Steve Weiss, a director at New Riders Press, one of his lead editors, and my future co-author. Branden and I had a pretty clear vision of where Macromedia was headed, or ought to be heading, and the New Riders folks got it too. It has been 1.5 years since I've stopped working on web-oriented projects, and suddenly I feel like I've caught the scent of real food again.

(currently reading "c# network programming" by Richard Blum, hacking traffic systems, studying GIS techniques, going to buy a java network programming book next)

Posted by samuel at 11:55 AM | Comments (0)

February 19, 2005

DependencyObject

The DependencyObject is at the heart of Avalon. I've heard that the concept has been done before in older languages, but I can't remember the reference (no pun intended). I've collected some links to articles that would have helped me a lot if they had been available when I started at MS.

Avalon: Understanding DependencyObject and DependencyProperty

Avalon Dissected Part 1: Core Technologies

Joe Beda's elaboration on Part 1

Avalon Dissected Part 2: UIElement <- FrameworkElement <- Control

DependencyObject Class (MSDN)

DependencyProperty Class (MSDN)

Avalon Property Invalidation

I wonder what it'd be like to attempt something similar in the Flash component framework instead of the Flash MX 2004 V2 architecture's mix-ins. Can't think of any reason why not. It wouldn't be as good as what you could do with the CLR, but it'd be better than mixins. I think it's totally doable... the terrible beauty of a functional and prototype-based language like Actionscript 2.0/Javascript is that everything feels like a hashtable anyways... even the AS2 implementation of namespaces is just a hash of the Object prototype.

Posted by samuel at 11:35 AM | Comments (1)

January 25, 2005

Joe's article on property triggers

Joe demonstrates how to customize a button's appearance when the mouse rolls over it, without writing any code. The implications are interesting...

http://www.joemarini.com/tutorials/tutorialpages/xamlpropertytriggers.php

Posted by samuel at 02:37 PM | Comments (0)

December 28, 2004

Lumiere and Company

This movie, "Lumiere and Company (1995), made me think about how layers of technology can obscure older, fundamental techniques, and how taking an old approach makes you re-think what's possible.

NetFlix's description: "To honor the 100th anniversary of motion pictures, 40 international directors create their own mini-movies in this French documentary. The weapon of choice for each is a replica of the camera used by the pioneer Lumiere brothers in 1895; each short is a single take running just under a minute (the limit of one roll of film at the time). Spike Lee, Zhang Yimou, David Lynch and Wim Wenders are among those taking part in this unique experiment."

Posted by samuel at 11:13 PM | Comments (3)

December 21, 2004

Thought dump

First of all, sorry for the delay in posting the conference materials. I will polish up the files further over the christmas holidays.

Dump of thoughts gained from people and events that happened in the last 20 days:

Blogs:
Tim Bray
Bruce Eckel
LonghornBlogs
Devon Strawn (co-worker)

Thoughts and questions:
Python and code legibility's affect on productivity.
Dynamic / latent typed vs. statically typed languages.
The economics of open vs. proprietary information services.
Information sold as units of value vs. subscription service.
XML's verbosity is a cultural artifact from the dot-com era.
3D is an emergent property of a well-architected presentation framework... I hope to see one in my lifetime.
These are fads, everything happens in cycles.
You will start learning something the moment you start failing in your attempts to learn it.

Posted by samuel at 12:52 PM | Comments (5)

November 13, 2004

Thank you, MediaElements!

Thank you and congratulations to the organizers from DynamicZones for a diverse, informative, and fun conference at MediaElements. The hospitality of Frank Beverdam and fellow organizers knew no bounds. Other conference organizers/sponsers included alientrick.com, the kvk, syntens and oost n.v.

The morning of the first day started slowly, but the conference picked up a lot of steam by noon, and continued through the afternoon conferences, trance rave (from what I hear ;-) ), next day's sessions, and the all-speaker panel. I think the national newspaper reported over 2k or 3k attendance.

I will post the examples and notes for my three presentations:
- Information Visualization Beginners'
- Information Visualization Advanced
- Introduction to Flash Communication Server.

However, I'd like to improve the notes for the U.S. Elections Visualization demonstration before posting to this website. Please come back on Wednesday to download all the files and notes.

Hello to Keith, Sas, Craig, Carlo, Billy, Guy, Gregor, Danny, Lisa, and lots of other speakers/organizers/attendees whose names are in my notes somewhere :) I will post pictures of Saturday's "Klootschieten" game from the countryside when I get home.

P.S. BBC rules... I don't own a TV at home, but tonight, I'm watching while catching up on stuff at work. There's an educational show on BBC called "Rough Science" that features a team of scientists who figure out how to solve problems out in remote areas. They've played four or five shows straight, and it's 5:39am!

Posted by samuel at 08:19 PM | Comments (7)

November 03, 2004

Married, toasted, and voted

I got married.

I got toasted and gave toasts at the banquet.

I voted.

Busy few days...

See you at Media Elements in Netherlands.

Posted by samuel at 03:24 PM | Comments (9)

September 21, 2004

Comm Arts Award!

The introNetwork product won a Comm Arts Interactive Annual award in the Information Design category. Many thanks to Kymberly Weil, Mark Sylvester, Beau Ambur, and Macromedia for getting me involved with this project last year!!!!! :D

http://www.commarts.com/CA/interactive/cai04/18_ia04.html

Posted by samuel at 10:43 AM | Comments (2)

September 04, 2004

Media Elements conference

I was accepted to speak at the Media Elements conference in Netherlands. I am not as badass in real life as the photo they put on the website :)

The topics will be data-visualization for beginners and data-visualization for advanced flash users. These are rather broad topics, so I hope to mix conventional content with more unusual items from my bag of goodies. I've only spoken at Flash Forward SF this year, so this is a chance to get out again.

I'm most enthusiastic about meeting new people at the conference; getting new perspectives on how others design, play, and solve problems.

-Sam

Posted by samuel at 01:45 PM | Comments (3)

August 24, 2004

autograph, different oop approach

Andy Van Dam and his student, Sascha, came to my office and gave me a signed copy of "Computer Graphics". As Napoleon Dynamite would say, "Yesssss!"

I was inspired by Avalon and the wizardly developers at work to try a different approach in Actionscript programming. Rather than associating classes to movielip symbols, I am writing Model, View, and Control classes that do not involve movieclips at all. Movieclips are merely compositional elements on top of the View layer. As a UI platform, the movieclip architecture is flawed; treating movieclips as raw fodder for a UI element's control class could work around Flash's limitations. New opportunities would include serialization of ui objects, true separation between code and graphics, and [other stuff]. There are performance issues, so this approach might be nothing more than an exercise.

On a side note, Chafic tells me he's already doing this, so I am not as smart as I thought ;-)

-Sam

Posted by samuel at 12:50 PM | Comments (9)

August 08, 2004

Going to SIGGRAPH 2004

Flying to Los Angeles for SIGGRAPH 2004 in a couple of hours!

Posted by samuel at 11:34 AM | Comments (1)

July 12, 2004

OOP joke

I got this from a friend of a friend...

"Object Oriented Code is like sex. More people talk about it than are actually doing it. The few who are doing it are: doing it poorly, sure it will be better next time, and not practicing it safely." - Anonymous

Posted by samuel at 01:26 PM | Comments (0)

July 08, 2004

Have fun at Flash Forward!

I couldn't make it to the New York Flash Forward because of big happy things happening at home, but I'll attend the next one. I was especially looking forward to seeing Branden's progress with Making Things, Manuel's Q&A, and Jared Tarbell's first presentation. Greetz to all the usual suspects :)

Posted by samuel at 12:13 AM | Comments (2)

June 30, 2004

Andy van Dam, MS Training, Avalon

This is more like just a diary entry to remind myself looking back... it was a very cool day at work. The term "work" probably isn't even a fair description, it was more like a really good day at school.

Today I met Andy van Dam in a very small setting, he demonstrated a new interaction paradigm, and I got to ask a question, albeit a newbie question. If I had known I'd meet him today, I would have brought my "Computer Graphics: Principles and Practice" for him to sign.

Then I attended an MS training course about product cycle management, it was quite fast-paced, intense, sobering, thrilling, and eye-opening. At first, I was disappointed that it coincided with free tickets to Spiderman, but the training course was far more exciting and rewarding in the end. I got to work with a team of other newcomers from different universities like Waterloo, UT Austin, MIT., CMU, etc..

Then I finished making some beautiful interactive samples in nothing but a text editor. All XAML, not one snippet of code. Going from notepad to full-screen hardware rendering with just a double-click is sooooo sweet.

Posted by samuel at 05:47 PM | Comments (2)

June 09, 2004

Comments are open again

I forgot that my hosting service had changed my account's IP address. Readers should be able to make comments again.

Posted by samuel at 08:18 AM | Comments (0)

June 01, 2004

Two more amazon webservices apps

Two clones of Joe's XAML app, on two platforms. Sarah Allen's version built on Lazlo, and a Flash version by Rob Edgar using XPDataTable, a third-party component.

Posted by samuel at 09:55 AM | Comments (0)

May 25, 2004

Emogame.com

Huge respect to the creators behind this project. Video games as an art form, as a rhetorical form, as a public service.

http://www.emogame.com/bushgame.html

Posted by samuel at 07:26 PM | Comments (0)

May 22, 2004

Bruce Sterling at MSR, transcript

In the past month, I've had several conversations that have left me thinking "Man, even if I end up being the program manager for Alt-Tab at MS, that Socratic experience alone was worth moving to Redmond".

So one of the less mind-blowing lectures (but still enlightening) that I can describe was Bruce Sterling's visit to MSR, Microsoft Research. William Gibson had also dropped by for a lecture sometime in March, and the differences in their speaking styles were notable. William Gibson talks like he's writing, and Bruce Sterling writes like he's talking. Which is to say, William Gibson's lecture rambled and drifted like a writer who was speaking out loud while preparing to put the final draft on paper, while Bruce Sterling's articulate rapid-firing of fully-formed statements about his ideas could have been been transcribed straight to text for an interesting read.

How cool is it, then, that a Microsoftie transcribed the whole lecture and put it on his blog? LOL. The transcription was even noted in Bruce Sterling's blog. This is great because I walked out of a meeting just to attend the lecture, but still missed the first half.

Some MS person's blog w/transcription: http://www.khephra.org/
Bruce Sterling's Blog: http://blog.wired.com/sterling/
Bruce Sterling's site, http://www.viridiandesign.org

William Gibson doesn't keep a blog up anymore, he said during the MSR lecture that it took time away from his writing, which he painted as a rather miserable and anxious experience. Bruce Sterling gave the opposite impression, that he didn't have enough time to write down all the stuff in his head.

BTW, I got a signed copy of William Gibson's "Mona Lisa Overdrive", not his best work, but one of my favorites for its pulp-fictiony taste. I gave a signed copy of Pattern Recognition to a colleague. Yesterday, I got a signed copy of Bruce Sterling's The Zenith Angle, which I finished last night (interesting ideas, not very sci-fi, very next-year futuristic).

Posted by samuel at 12:04 PM | Comments (0)

May 05, 2004

Data Styling in XAML

A colleague, Joe Marini, posted a purely declarative app that defines the visual presentation of an Amazon webservice's data. It was hand-coded in Notepad (i watched him write it :-) and compiles for free in the latest release of Longhorn. Looks simple, but exposes some deep UI issues solved by the Avalon team.

Posted by samuel at 02:54 PM | Comments (5)

April 13, 2004

Run-time MXML Experiment

John Dowdell posted a link to Nik Khilnani's experiment on rendering MXML at run-time in Flash. I've observed that the V2 architecture seems to be designed from the ground up to support name/value mapping between component properties and xml node attributes, which makes Nik's experiment possible. IMHO, the hardest work will be supporting Flex's layout features, which are simple and should be straightforward to implement.

Posted by samuel at 03:24 PM | Comments (0)

April 12, 2004

Study Guides and Strategies

One problem I have at work is the sheer number of irresistable opportunities to learn new stuff. I needed a refresher on strategies for studying, and googled a comprehensive and well-written website on study guides and strategies at www.studygs.net. These study guides apply well to technical learning, like studying SDK's, reading documentation, practicing new languages, etc. The sections "Preparing to learn", "Studying", and "Reading Skills" are especially helpful for technical learning.

Posted by samuel at 12:55 AM | Comments (1)

April 02, 2004

Joe Marini's XAML app

Chris Sells posts a link to Joe Marini's blog reader. You can compile the markup on his webpage into an application if you have PDC Longhorn (compiler ships free with the operating system):

Step 1) Paste into notepad and save locally as "bloghorn.xaml".
Step 2) Double-click on the file.
Step 3) Enjoy the application.

Posted by samuel at 12:08 AM | Comments (0)

March 21, 2004

Comments are back, and other fixes

I'm upgrading my Movable Type installation today in order to enable comments again. Comments are what makes blogging fun, so I'll try my best to fend off the spammers. The comment spam forced me to disable that feature around the time I moved to Redmond, so I missed out on getting feedback for all my posts since November.

Okay, let's give this a try and brace for the spambots...

Here is a list of useful resources I used to fix my blog:
www.mediatinker.com - Excellent tutorial on MT styles
www.blogspam.org - Source of all my security fixes
www.blogstyles.com - Free 3-column stylesheet that I modified

I hope it'll be a looooooong time before I have to touch HTML again.

Posted by samuel at 07:37 PM | Comments (7)

March 20, 2004

Hard questions - the special ingredient

The past four months at Microsoft have been the most intellectually challenging and rewarding experience in my professional life. After an especially crazy period of forcing myself to think in totally different ways, I'm writing this post in a sort of exhausted but amazed state of mind :) It feels like the endorphin high after running a long distance.

There are many factors that make work satisfying... the people you're collaborating with, a shared vision, the constant evaluation of new ideas, it's all good. However, I think I've come to realize the most valuable part of working at Microsoft: you're encouraged to ask hard questions, and encouraged to confront hard questions. This is not as simple as it sounds.

What I've learned is that hard questions are the best way to protect yourself from making mistakes, but it takes practice to ask or receive hard questions well. It's difficult to invest a lot of effort into one particular way of thinking, and then acknowledge that starting over is the right thing to do. It's also difficult to make adjustments to your direction instead of completely restarting, because you're working against your own conceptual inertia.

I remember group projects in school, where kids were often hesitant to talk about an idea critically, or kids whose feelings got hurt when others made suggestions. That kind of brainstorming usually led to results that only satisfied niche scenarios, or missed the assigment's objectives completely. On the other hand, accepting ideas without careful thought can also lead to the same results. So finding good ideas involves a certain balance of objectiveness, humbleness, confidence, open-mindedness, humor, and very plain-spoken communication.

If everyone around you can ask and accept hard questions in an open and respectful way, man, it leads to some great moments. Imagine doing that on a daily basis... whew!

Posted by samuel at 06:08 AM | Comments (0)

March 08, 2004

Furniture

After holding out for months, I bought my first table and chair today. It was so luxurious I went out and bought another table.

Posted by samuel at 10:22 AM | Comments (0)

March 07, 2004

Links from Flash Forward

Here are links to websites of all the new friends I made and old friends met during the conference:

Peter Hall - http://www.peterjoel.com/blog
Vera Fleischer - http://www.mediasparkles.com/
Guy Watson - http://www.flashguru.co.uk
Robert Penner - http://robertpenner.com
Nigel Pegg - http://www.markme.com/nigel/
Second Story - http://secondstory.com/
Chafic Kazoun - http://www.rewindlife.com
Beau Ambur - http://www.ambur.com/
Brendan Dawes - http://www.brendandawes.com/

Posted by samuel at 09:46 AM

Making Things - The New Hotness

I went to Flash Forward looking for cool stuff, and discovered Making Things. Their Teleo technology is the New Hotness, and it'll probably eat up a sizable chunk of my recreational time in the upcoming months :) Hurry up and finish the Windows version already!

Posted by samuel at 09:13 AM

March 01, 2004

Flash Forward 2004 San Francisco

PACKING CHECKLIST:
Laptop
Power cord
Mouse
External DVD
External Battery
External hard drive
Logitech Webcam
Wireless Router (?)

I'm looking forward to this conference more than ever.

-Sam

Posted by samuel at 11:49 PM

February 25, 2004

Some guy's spline designer

Someone gave me a link to this guy's blog (www.nikhilk.net/). I think he works here too. This might be fun to play with if you've got access to the PDC builds. Arrggh, not enough time in the day...

Posted by samuel at 12:33 AM

February 09, 2004

Cinema Redux by Brendan Dawes

There are screenshots at processing.org of "Cinema Redux", a project written by Brendan Dawes that visualizes the entire film reel of a movie through sampling.

Flash, Flashcom, Proce55ing, agggh, too many opportunities, not enough time!

-Sam

Posted by samuel at 07:28 PM

February 07, 2004

Logitech QuickCam on Win2003 Server

I'm trying to run Flashcom with an automated camera / trackerpod setup, but the Logitech installation software doesn't support Winows 2003 Server. Here's an article that explains how to install the Logitech Quickcam drivers on Win2003.

http://www.winnetmag.com/Article/ArticleID/41331/41331.html

Posted by samuel at 07:16 PM

February 05, 2004

Mythical Man Hours

Received this joke today :)

"If we add 8 more women to the project, can we have the baby in 1 month?".

Posted by samuel at 08:37 PM

January 29, 2004

snow boarding... fun, sore

A nice thing about living in Seattle is the proximity to the mountains. I went to take lessons with another beginner, $60 bucks for the equipment rental + lift-ticket + lesson. The group lesson only had one other beginner in the class, who turned out to be a very cool fellow microsoftie after we started swapping stories to distract us from our shared fear of heights (no belt-buckles on the ski-lift!?!?). Hey, don't laugh, it's a lot scarier the first few rides :-)

I felt pretty pumped up during the drive back, but now I have cramps in muscles I didn't even know existed. Man, it's going to be a sore couple of days.

Posted by samuel at 07:35 AM

December 17, 2003

Rewind Life blog

Chafic and Sam have a blog at http://rewindlife.com. I've noticed a small group of new blogs with a renewed focus on the practical application of Flash, not just obscure hacking, but real-world development.

By the way, "The Return of the King" is going to be the best movie of the year.

Posted by samuel at 11:27 PM

December 13, 2003

Back online

Finally moved into an apartment and installed cable modem (Comcast seems to be improving its service all over the U.S.). I haven't been able to download my email because I don't have a personal computer, so I just found out that all messages sent to me between Nov. 3rd - Dec. 9, 2003, have been deleted by the mail server because the inbox was too full. Please email again if you didn't get a response from me last month! I'll be able to check personal email sometime next week, once I buy a computer.

It rains a lot here, occasionally several times a day. Haven't explored Seattle yet, mostly staying within a 10-mile radius of the MS campus until I get settled. This is the most creative and inspiring environment I've ever experienced. With all the thinking and learning going on, I think the long-term key is to find some balance, so exercising and having a life is important.

Posted by samuel at 09:08 PM

November 09, 2003

A Second Wind

There's a scene in the original "The Matrix" where Neo downloads knowledge directly into his brain through the head-jack for the first time.

TANK: "Now, we're supposed to start with these operation programs first, that's just major boring. Let's do something more fun."

NEO: "Jujitsu? I'm going to learn Jujitsu? [Tank hits the UPLOAD button, and Neo convulses in his chair]... Holy shit."

TANK: "Hey Mikey, I think he likes it. How about some more?"

NEO: "Hell yes. Hell yeah."

That basically sums up my first week working at Microsoft. They don't have head-jacks here though; you still have to learn the old-fashioned way :) Lots of reading and thinking, constant exposure to mind-bending ideas and inspiring people. I know I'm making progress because my brain hurts the way muscle hurts after an intense workout. Instead of going into further details here, I'd point you to a google search for other new employee experiences.

Comments are still down due to blog spamming. You have to respect their skill... they spammed me through a dormant comments.cgi script even though comments were disabled. I plan to fix and re-enable comments as soon as I buy my own computer and find a place to live with broadband.

When I first arrived in Seattle two weeks ago, it rained and then drizzled. The air smells sweet, and I'm sure they grow trees here instead of lawn grass. On my first day, I drank my first cup of coffee in a year to fend off jet lag. The girl at Starbucks laughed when I asked if they served anything that would keep me awake. I didn't even know the difference between Americano and Expresso. However, beware of Iced Mocha at a place called "Best Coffee", one cup is not enough.

Posted by samuel at 08:56 PM

October 30, 2003

Flash Forward 2004

I just found out that my presentation proposal was accepted for the Flash Forward 2004 conference in San Francisco! The session is titled "Scratching the Stream".

I rewrote the proposal after receiving some great feedback from the last Flash Forward conference. This time, I'll focus on a specific aspect of the Flash Communication Server so that we'll have more time on stage to really dig into some juicy ideas. I'll combine various features of Flash video/audio/data streaming into fresh new techniques that few have ever seen before... stuff that will hopefully have attendees rushing to download the developer version so they can try it at home with others online :-) The session will consist entirely of step-by-step demonstrations on stage, accompanied by sample code that you can reuse for projects.

More to come! (still packing for the big move)

-Sam

Posted by samuel at 05:05 PM

October 29, 2003

Update on blog, relocation

It should be pretty easy to use Flash for visual and/or audio validation in the MT comments section, I just need to find some time. Currently busy with geographical relocation.

Learned more about flash mx 2004's data-binding, web services, and xml connector. It should be trivial to build a flash-based blog now, wonder why nobody else has built one yet, or maybe they have?

-Sam

Posted by samuel at 09:54 PM

October 17, 2003

Shirky.com

I found this website, shirky.com, last night, and I really enjoyed his essays. Most of them focus on what my grad school profs would describe as emergent behaviors in social systems, though he doesn't use the same terminology. We kind of touched on these subjects in school: SI504 and SI622.

Two favorite essays from his website:
Broadcast Institutions and Community Values
A Group Is Its Own Worst Enemy

Posted by samuel at 06:23 PM

Update on status of the blog

Still investigating lots of possibilities regarding protection of blog from comment spammers. Along the way, I realized/discovered/thoughtabout lots of different things:

- Flash would be great for displaying the blog content, but google wouldn't be able to read it very well.

- I want to redesign the blog... my whole website, actually...

- CSS is just plain arduous, and requires more workarounds than a Flash app

- Different folks visit my website with different intentions, so I have to figure out how to accomodate different needs.

- A personal website should be self-expressive, but you're not expressing to anyone if your message is not accessible/garbled/poorly-layedout/unorganized

- Blog should have design feedback page

... caught a bad cold bug, ugh, back to work ...

Posted by samuel at 04:05 AM

October 12, 2003

A solution to blog comment spamming

I just spent 40 minutes manually deleting over a hundred commercial spam comments in my blog. After searching online, I discovered that the problem was a lot more prevalent than I thought.

This person had some good solutions: http://cheerleader.yoz.com/archives/000849.html

Apparently, the spammers use screen-scrapers to parse the comment forms, or post their comments manually. I've wanted to build a Flash-based Movable Type viewer for a long time anyways, might as well restart the project as a way for me to learn Flash 2004 MX :-) Let's see how well the spammers can screen-scrape a Rich Flash Interface with combined visual/audio Turing Test validation.

For now, I've disabled comments on my blog, but I shall return... with source code.

Posted by samuel at 07:59 PM

September 30, 2003

roboflash toolkit printer feature

I'm going to have to withdraw my recommendation for eHelp's RoboFlash Toolkit. Previously, I had touted the RoboFlash printer at Flash Forward conferences as a simple solution for converting powerpoint presentations to a keyframe-per-slide SWF compatible with the Macromedia Flash Communication Server's SimplePresentation component. We have recently purchased new copies and made multiple attempts to install RoboFlash Toolkit on machines at work, running Windows XP Professional, but the Printer feature does not appear after installation.

The publisher, eHelp, does not offer live support for the RoboFlash Toolkit at any of its support levels, from basic to Gold support memberships, so I have not been able to reach a technical support rep in person to verify the removal of the Flash Printer feature from the toolkit. The only support offered comes in the form of an online community forum linked here, but questions by other users regarding the function or removal of the Flash Printer feature have not been answered on the forums.

I apologize for any incovenience I might have caused in previously recommending the toolkit's Flash Printer feature to other developers at conferences and on forums. We will find an alternative solution and I will try to post a tutorial when we figure out a better way to display and synchronize powerpoint files through Flash Communication Server applications.

Posted by samuel at 11:39 PM

September 29, 2003

Update on experience with Processing

I'm hooked. Instant gratification for the visual programmer. Stand by for an applet to be posted tonight or tomorrow. Wow, so much fun.

Posted by samuel at 03:25 AM

September 27, 2003

Processing, neato

Description on the Processing website: "Processing is a context for exploring the emerging conceptual space enabled by electronic media. It is an environment for learning the fundamentals of computer programming within the context of the electronic arts and it is an electronic sketchbook for developing ideas. "

Here's a tutorial for Flash and Director users.

I saw some of the demos on Robert Hodgin's website, and it made me smile the way Flash hasn't for awhile now. From what I've read so far, Processing offers a simplified IDE for writing pseudo-java code; more specifically, a simplified graphics and timing API on top of Java 1.1. I would highly recommend this for anyone teaching beginner computer graphics (I'm still a beginner myself in primitive graphics programming). Not very useful for UI and application development, but like the official description says, it's more like a sketchbook for fun experiments.

In other news, I'm still pushing the limits of Flash Communication Server at my 9-5 job. The Macromedia engineers would feel pleased that their product is being used to its fullest potential. Doing a google search for "Jack Kemp AIU" will lead to press releases, but there's more than meets the eye... making it look easy takes so much work.

Remember how I spent a long time working on hooking up a Mindstorms robot to FlashCom? As much as I learned about robotics and Java from the project, it didn't meet my needs. I found a low-cost, high-functionality solution from the folks who sell TrackerCam. I hacked it to use the applet/PHP for pan-tilt control while integrated into a Flash/FlashCom application using the FCS Framework. The trackercam software comes with remote video streaming, and the license says you can't redistribute it or redistribute modifications or something like that, so I won't post my code here. I will post my PROCESSING experiments sometime this weekend as soon as I download the software and make a few sketches. It's time to redesign this website anyways :-)

Posted by samuel at 06:18 PM

September 10, 2003

Alert: Flash sites might need policy file

Read this post by Colin Moock at http://www.moock.org/blog/archives/000048.html

Posted by samuel at 11:47 PM

September 04, 2003

Homeworld 2 Game

I have a firm rule about installing zero games on my personal machine, and picking up a programming book instead of giving in to the urge. However, there is one exception to the rule: Homeworld. In a week, Sierra will release the sequel to the 1999 original. You can download a demo here.

Posted by samuel at 07:32 PM

August 25, 2003

Flash 2004, Matrix @ IMax

Jens wrote a review of the upcoming Flash MX 2004 here: http://www.flashmagazine.com/html/839.htm.

I saw Matrix Reloaded at the Chicago Navy Pier IMax yesterday with my buddy Craig, who won free tickets. The Matrix Reloaded gives the audience a completely different experience on a massive screen with a serious sound system. I didn't feel any excitement or involvement during my first viewing of Reloaded at the local AMC 30 theater, but last night had me wincing and flinching and sucked into the story.

You'd imagine watching the movie on a screen the size of a small building would reveal all of the special effects blemishes and artificial backdrops. Interestingly enough, the IMax screen only sharpened the reality of the Matrix world. I constantly turned my head to check out all the interesting details in the corners and backgrounds of each scene during the slower moments. The storyline even seems more believable because you're totally immersed in the environment. Everyone laughed, but in relief, at the end of the highway sequence, when Link pumps his fists in the air and shouts "YES!" after Neo pulls a HUGE save. It's hard to describe watching the highway sequence on an IMax screen...

The Burly Man fight scene on an IMax theater screen. Wow and Ouch. You can see the expressions on every Agent Smith's face, and see every detail of every movement during the 100-against-1 beat down. The insanity of that scene's scope and scale probably doesn't come across on a smaller screen... I wonder if the directors might have made the mistake of relying on such high detail to convey the subtleties of the movie.

Ok, so anyways, you should watch the matrix on imax if you ever get the chance.

Posted by samuel at 03:38 PM

July 11, 2003

Back from Flash Forward NY

Had to leave Flash Forward NY early to finish some stuff at work, so I missed the last day of the conference. It was a memorable conference, and I got to meet a lot more people this time.

Got a phone call at the airport saying that 2Intro won Best Application from the Flash Film Festival, YESSS! Thanks to MixedGrill for getting me involved with that project.

As far as I know, my presentation went very well. After talking with attendees during the first two days, I realized that hardly anyone knew anything about FlashCom/ Rather than talking about deep FCS code, I scrapped the presentation and focused on concepts and strategies for using Flashcom, with a solid 20 minutes spent on how to use components to build your own Flashcom application. I demoed a wide range of FCS applications, including a non-linear video editing tool, a proximity-based chat application, and a robot-controlled webcam, to show that FlashCom is not just about chat rooms and av conferencing.

The Q/A was awesome too... once people saw the possibilities during my session, they came to the Q/A and asked really interesting questions. We jammed for over an hour to build weird prototypes with all kinds of undocumented and unknown FlashCom techniques.

Many, many thanks to Branden for his light sensor and rotation sensor. I broke the first sensor after trying to modify it to increase ambient light sensitivity. I'll send you replacement parts, dude :-)

Also, my robot's sensor accuracy, motor control, and structural design improved ten-fold after spending the whole night working with the guys from B-Line Express, especially Lucas. They turned out to be kick-ass developers (not just Flash), who used to work for NASA on the Hubble Space Telescope. Wow. We figured out a better gear reduction setup, more stable central rotation shaft alignment, and completely re-wrote the light-sensor algorithm in Java. I learned how to sample several light readings in order to offset any outlier sensor readings, and we ended up with an extremely stable control mechanism.

Too bad I had to miss Branden's presentation, which was today. Hopefully, he'll announce the project he's working on soon, so we can start having competitions with it :-) I also really wanted to see Chris Pelsor's presentation on Flash + PDAs, because my Toshiba e755 has become part of my lifestyle, and it would be so cool to develop custom software for those devices.

To answer everyone's question, yes, I will post the Treemap component soon. It only does squarified layout and simple layout right now, but it's neat :)

Posted by samuel at 09:33 PM

July 07, 2003

Preparing for Flash Forward 2003 NY

Session Topics:
- Presentation components.
- Mindstorms robot w/Java lejos (if branden remembers to bring his spare parts that I need to complete the light sensor communication).
- Pocket PC and Flash Com (and robot webcam?).
- Proximity-based group chat environment.
- Usability issues in real-time environment UI design

Much of it's done, hope I can finish coding the rest before Thurs. It's all theoretically possible but need time to code/debug/document. Well, have 72 hrs until my presentation, should be ok. As customary, all code will be opened and posted here, maybe with more documentation this time.

(if Branden needs his spare light sensor parts back after the conference, it'll be a few more days before I can acquire those parts to post a working link)

I'm hoping for an energetic conference and for opportunities to meet new people, discover new ideas, find some inspiration and community. It's been a very long year.

Posted by samuel at 10:38 PM

June 19, 2003

Community

It's about community.

Posted by samuel at 11:01 PM

April 04, 2003

upcoming changes

So next week, a new happy chapter begins in my life after eight months of uncertainty. The good news has already given me so much energy again to be creative and productive, both at work and at home.

One new project... www.echotap.com was announced at Flash Forward 2003 as the home base of my Flash Communication Server experiments, and I will post the complete source code and documentation for my Flash Forward conference next week. Thanks to Media Temple for their support.

Another new project... This webpage will be redesigned too. In addition to the RSS blog feed, I plan to make available a Flash implementation of treemap visualization of my blog using the Squarified Layout algorithm. Right now, the prototype works, but the recursion isn't very efficient. I first learned of treemaps from Dr. Mirel's Info Visualization course during grad school at the U. of Michigan. Over a year later, I went back to read those research papers again to study the math, and also began studying the Java Library of different treemap algorithms made available at U. Maryland HCIL. Sometime in April, I'll post the source code and references to the research papers from the U. Maryland Human Computer Interaction Lab and Eivond University. You can learn more about treemaps by googling the keywords "treemap history" and clicking on the HCIL webpage.

Posted by samuel at 09:38 PM

January 15, 2003

Free FlashCom Server With Purchase!

From Macromedia's website, a new educational offer: "For a limited time only, get a free* downloadable version of Macromedia Flash Communication Server MX Personal Edition when you buy Macromedia Studio MX for just US$199."

The personal edition allows 10 connections, and it's a permanent license (not just a 30-day trial). Ordinarily, the server alone costs a lot more than $199. This is great news for anyone who wants to get into Flash Com programming!

Posted by samuel at 01:04 PM

November 19, 2002

Cool site, server update

Russian flash master... excellent UI design, programming, and concept execution. http://flashface.flashmaster.ru/

Update: the flashcom server's almost ready. Stay tuned for more news later this week. It'll be another week before I get the website setup.

Posted by samuel at 11:48 PM

November 13, 2002

I actually pay money for this...

http://www.comicsontheweb.com

Having just finished grad school, I've still got very spartan spending habits. However, comicsontheweb.com is only website I pay money to access. The quality of their writing and artwork rivals regular print, and I really think they've figured out what Marvel, DC, and others couldn't figure out: how to bring compelling graphic story-telling to the web and still make enough money (I assume) to survive.

My favorite story-lines are Sigil, Crux, and Negation, mainly because they have the most developed stories so far. All of the other comics are captivating too, but they don't have as many issues "printed" yet. Meridian probably has the most imaginative and fantastic artwork of all the series, while Ruse has the most intruiging plots and dialogue. If you read all of them in order, you start to get a sense of how all the stories weave together and play important past/present/future roles across the over-arching mythology of CrossGen.

Wow, someone please nominate them for the next Flash Film Festival!

Posted by samuel at 06:46 PM

November 08, 2002

Something new

As you might have guessed from my posts and conference presentations, I really like Macromedia's Flash Communication Server. I like it so much that I picked a job where I could spend all my time building FlashCom applications. It's the greatest thing since Flash. So right now, I'm working on starting something new to bring FlashCom to the Flash community. Lots of people have questions about FlashCom, and over the past three months of intense work at AIUOnline.edu, I've been able to answer some of those questions. Those two long years studying HCI in grad school are starting to feel like time well spent. Now, I can't show or talk about the projects going on at AIUOnline, but there are a zillion ideas and concepts that I can show and talk about.

Wanna see? Stay tuned...

-Sam

Posted by samuel at 10:14 PM

October 04, 2002

Music

Musical compositions by Samuel Wan, created sometime between September 01 and December 01.

"Second Thoughts", by Samuel Wan.

"Lao Tzu Trance", vocals by Hoi Yin Lo, composed and produced by Samuel Wan. Lyrics excerpted from passages by Lao Tzu.

Hey, it's a personal website, doesn't have to be all about Actionscript all the time :-)

By the way, thanks to the folks who have been posting reviews of our book on Amazon, we're really grateful/happy/relieved that Flash developers are taking a peek at the book and finding it useful.

-Sam

Posted by samuel at 03:12 AM

September 20, 2002

Bevel Components version 2

I'm working on it! I'm totally in the groove today, and finished implementing the following features:

Optimize the rendering, even though it's pretty optimized already
Disable tab selection
setBevelInverted(boolean) - public method to invert bevelling
setPanelToBackground();
setPanelToFace();

I even overhauled the skinning/colorizing code and added two new features:
enableSkinning();
disableSkinning();

Skin-disabling is trickier than it sounds... as far as I can tell, there's no built-in method for unregistering component elements from local FStyleFormat or globalStyleFormat skinning. But it's solved :)

Also, someone let me use his beta Javadoc application to document my Actionscript, and boy it's sweeeeeeeeeet (and free!). Hurrah for open-source :)

Did I mention that our book, "Object Oriented Programming With Actionscript" is finally available? I got my copy in the mail yesterday. Wow, New Riders Press did an awesome job of printing out all the code and tables and diagrams exactly the way we requested. You can download the free source code at www.wheelmaker.org and get a copy from any local or online bookstore.

It'll take awhile to finish Version 2, but I might start releasing builds so folks can beta-test.

Posted by samuel at 07:32 PM

September 04, 2002

Posting from work

AIUOnline has some temp positions for entry level Flash designers with decent motion graphics skills. I'd stress that it's an Entry Level position, maybe not for the hardcore Actionscripters who visit this site. It's an on-site position in Hoffman Estates, a northwest suburb of Chicago. If you know of someone, or just want to pick up some simple work on the side, I've copied and pasted the official blurb here:

------------------------------------------------------------
There is a temporary flash animation position in Hoffman Estates, IL available for anyone who is interested. The job lasts from mid Septmeber to mid December of this year (2002) and pays around $20 an hour. It does require that you be on site for the duration of the job. Please contact me if interested. -- B. Sherrill, [bsherrill@aiuonline.edu]
------------------------------------------------------------

Please don't email me about the job. Instead, contact bsherrill@aiuonline.edu if you're interested.

-Sam

Posted by samuel at 09:05 PM

OOP Actionscript (the book)

It's been an intense three weeks, settling into Chicago while overhauling the entire Flash architecture at AIUOnline.edu before we enter the production phase for the fall semester. The new system must have backwards-compatible support for over 100 course units in Flash 5 format, while supporting a new architecture built around Flash Communication Server. It was my first time refactoring large amounts of procedural Actionscript code into a unified OOP architecture based on design patterns. This would have been a very difficult process if Branden hadn't introduced me to the application of design patterns in Actionscript. Just studying his code has raised my programming skills to a new level of Zen :)

By the way, if you're interested in OOP, Actionscript, design patterns, event handling systems, Zen programming for Flash MX, and other subjects that make Flash development a joyful experience, you should check out the book that Branden and I wrote. Our book has a website at http://www.wheelmaker.org, with links and information. "Object Oriented Programming with Actionscript" will hit the shelves next week!

As for the ongoing projects mentioned on this website, I just got Speakeasy DSL at home, so I can finally start working on those projects. Speakeasy is the best ISP I've ever dealt with, although they cost a little more money. I've got speeds of 734kps download and 386kps upload (sometimes the speed tests show 605 upload!). Next week, I'll run a Tincan server and folks will have the opportunity to experience some of the ideas I've been investigating at work.

Posted by samuel at 07:20 PM

August 13, 2002

Life in the 'burbs

Finally figured out how to use WiFi cards to share an ethernet connection between my old laptop and the Thinkpad that the company gave me.

So finally moved into Chicago. Living in the suburbs takes some getting used to, especially after spending two years as a pedestrian in a happenin' college town like Ann Arbor.

Bevel Components Version 2.0 is coming out by the end of this week, without the free-style polygon component. The polygon bevel will take awhile longer (math is tricky), probably packged into Bevel Components 3.0 later. For now, I'm just going to include all the fixes, and add all the suggestions, including the one about a parameter to fade out the background area.

Every day at work is spent on Flash Communication Server. Back to work...

Posted by samuel at 07:04 PM

August 06, 2002

plans for bevel components v2

I'm still in the process of packing and moving, but in the meantime, just wanted to let you know that I've moved the Bevel Panel components to the top of my priority list. It seems that a lot of people are using the bevel panel components, and I've received many suggestions on how to improve them. Here's a partial list of planned upgrades for bevel components version 2:

1. Disable tab selection
2. Add public method to invert bevelling
3. Add documentation (as soon as I can use CyberSage's FlashDoc software to document my code)
4. Optimize the rendering, even though it's pretty optimized already
5. Create a user-defined polygon bevelling component, so that you can create angular shapes more complicated than regular rectangles.
6. Create a component with the ability to save, retrieve, and set StyeFormat properties of other specific components on stage.

If you have any other ideas, code fixes, or patches, just let me know. I guess we're going to develop these components the open-source way :)

-Sam

Posted by samuel at 05:02 PM

August 02, 2002

News and Updates

I'm in the process of packing for the big move to Chicago next week. Here's an update of current projects, and some hints of upcoming projects to be announced very soon:

1. Live Preview source code added to the Bevel Components. Click here for the updated article with links.

2. Official website of OOP Actionscript Book with downloadable source code - we're working on it, and the book's coming out soon. The website will also feature extra materials that we haven't announced yet.

3. I've grown quite addicted to developing applications with the Flash Communication Server these days. My new job focuses heavily on building real-time collaborative environments with FlashComm and Flash, so you can expect plenty of tutorials and source code for multi-user Flash over the next year. I can't describe how thrilling the past 4 days have felt, as I've finally started seeing the "big picture" behind FlashCom technology. Like any new technology, the learning curve is steeper because we're breaking new ground. Don't worry though... I plan to document my own progress step by step, as I learn new patterns and techniques for multi-user applications with Flash MX / FlashCom Server.

4. Internet controlled Lego robot with wireless camera - This project is still ongoing. Once I gain more experience and knowledge with the FlashCom technology, you will see a whole lot more than robots. I've got plans to wire up my entire apartment with wireless cameras, and design an interactive floor-plan with real-time transmissions. Actually, I've got crazier plans than that, but some of it involves R&D for my new employers, so I can't talk about those ideas yet.

5. Packing for the big move to Chicago. If anyone has suggestions for a good broadband ISP, please email me. I plan to run a server, and have considered Speakeasy.net for their high quality DSL service.

6. Preparing to speak at Macromedia DevCon in September. They invited me to speak about a topic that I'm very passionate about: Information Visualization with Flash. I'll cover topics like Exploratory Data Analysis, Actionscript techniques for data-generated graphics, and real-time visualization of multi-user events. It's going to kick ass. 'nuff said ;-)

Tune in next week for more fun stuff!

-Sam

Posted by samuel at 12:12 AM | Comments (10)

July 13, 2002

Flash Forward Presentation Files

Just got back from Flash Forward New York. Before I upload the presentation files tomorrow, I need to write some explanations of the code. I also need to convert the speaking notes into written documentation, as a supplement to the materials in the conference CD-ROM.

Funny thing happened at the conference... the New Riders Press booth featured several pre-print versions of our upcoming book, "OOP Actionscript". Over the past three days, all but one copy of these pre-print versions had mysteriously disappeared into the crowd of visitors. It's a great sign when people want your book so much that they can't even wait for it to hit the bookshelves :)


The conference was awesome, I had many inspiring conversations with fellow developers, and enjoyed all of the presentations. I'll post my own presentation files on this website, around noon tomorrow (Saturday). As you might have seen, most of the presentation notes were actually part of the source code, so it'll be a quick download.

-Sam

Posted by samuel at 05:50 AM | Comments (9)

July 03, 2002

Back To School

In August, I'm going back to school!

I'll begin a full-time position on the web development team at AIUOnline. AIUOnline stands for "American Intercontinental University Online", and this e-learning school provides a complete online university system with several degree programs. I don't know how much I can reveal about their internal operations, but I can say that their accomplishments over the past two years have been mind-boggling. I somewhat expected repetitive grunt work at an e-learning company, uploading course after course. In reality, they're dealing with interesting challenges that most web design studios would never encounter. The server-side engineers are way out of my league, so I'll be learning some .Net programming (thanks to Mano for the box of VS.Net, it's going to come in handy!). I'm also going to work with some very efficient Flash designers and Authorware gurus. Toss in a semester-based development cycle, and you've got a really intruiging situation.

Last year, they had 600+ students, and now we'll be working very hard to scale the system for several thousand students in two years. Within a few months, the team's going to move into a whole new building next door, about 40 miles northwest of Chicago. I'm going to look for the Chicago MMUG this fall...

By the way, my job title says "User Interface Engineer", but that's just because they didn't really care about titles. I got to pick my title... I considered "Shaolin Actionscripter" but guessed that "User Interface Engineer" would get me a better computer :)

Ok, two posts in one day, the next one tonight will feature a new component for bevelling. I've used this component frequently on my own projects, it's really quite useful. Eric Jordan, bevelling master, generously offered to beta-test it and gave it two thumbs up. Now you too can create pixel-sharp bevels with a flick of the wrist!

Look for the bevelling component in 6 hours.

Cheers,
Sam

Posted by samuel at 07:04 PM | Comments (6)

Cold Remedies: Pre-emptive Strike

I promised to post some news on Monday, but have been fighting a cold for the past four days. In my case, colds usually start with a sore throat, work their way up your sinus cavity, and eventually turn into a blazing fever/cough that lasts for two weeks. This time, it only lasted four days thanks to Zicam Cold Remedy and some Awful Bitter Chinese Medicine from last winter. I don't mean to sound like a commercial but Zicam really works. If you've ever played army games like Age of Empires or Warcraft, then using Zicam is like a pre-emptive strike on your opponent's Barracks: neutralize the growth rate at an early stage, and the enemy is at a total disadvantage against your immune system.

...and that Chinese Medicine, man, it's so horrible that your whole mouth feels like it's shrivelling up. Viruses will die from the overwhelming shock of the bitter taste.

Posted by samuel at 06:41 PM | Comments (26)

June 28, 2002

Update

I was quiet during the month of June due to the job searching process. With the job search over, I'll be able to finish several projects near and dear to my heart before relocating to Chicago in August. Updates, source code uploads, and more announcements are scheduled for Monday. Thanks for continuing to read this blog, and for contributing your insights and advice.

I've joined a somewhat non-traditional company... it's not a design agency, software company, games studio, entertainment company, or any kind of IT consultancy. Nonetheless, we'll have the opportunity to build collaborative environments and architect a non-linear, interactive multimedia delivery system. We'll work for a unique audience on a challenging scale, with serious usability implications and a sweet, sweet development cycle. Curious? Tune in Monday :)

FINISHED:
OOP Actionscript Book Chapters
Conference session materials
Move all websites to Futurequest.net
Test X10 Wireless Camera with Flash 6 Player

PROJECT LIST:
Reality Cluster
OOP Actionscript Book accompanying website.
Window Bevelling Component
Lego / Lejos / ColdFusion / Flash / X10 Wireless Video
TDL (To Do List) Flash Application
RSS-DataProvider Converter
Flash MX Authoring Panel RSS Reader
Multiple Choice Component
2026 unread posts from Flashcoders... oh man...

See you soon,
-Sam

Posted by samuel at 11:08 PM | Comments (12)

June 14, 2002

Grace Hopper Project

A couple of months ago, I had committed to help with a local community outreach program at the University of Michigan's College of Engineering. This program, known as the Grace Hopper Project, is sponsored by the Women in Science and Engineering Program at the University of Michigan, College of Engineering and the School of Information (my alma mater). Participants will be introduced by researchers and engineers to various fields in science and technology. They'll tour facilities and attend classes to learn about subjects ranging from radiation oncology to automotive engineering to virtual CAVE environments, and much more. I'll be busy all of next week teaching the internet/multimedia portion of this program. Hopefully, the Grace Hopper program will help high school students make more informed decisions about studying science and technology as they prepare for college.

Speaking of college and career decisions, I've been struck in recent weeks by the memory of Robert Frost's famous poem.

Posted by samuel at 07:26 AM | Comments (6)

June 08, 2002

Out of town for the weekend

In Chicago for my brother's graduation. Out of town until Monday.

Posted by samuel at 04:59 AM | Comments (1)

June 05, 2002

Email problems (Updated)

If anyone's tried to email me in the past 24 hours, please be aware that my email configurations at csoft.net are @#$%ed up. I have made arrangements and will have everything back online within the next 24 hours. In the meantime, feel free to reach me at my backup yahoo address. Sorry for any inconvenience.

=====UPDATE======
If you're reading this, then my website has successfully moved to a new space at futurequest.net. In the past, I've had other projects hosted on futurequest with 100% positive experiences, and finally decided to move all my accounts to their servers. By the time my previous ISP responds to my tech-support request tomorrow (or next week), the domain names will already have propagated.

Downloadable source code, articles, comments, conference tutorials, and other files should already be mirrored with identical directory structures in this new account. Please email me if you find any broken links :)

-Sam

Posted by samuel at 09:51 PM | Comments (7)

May 26, 2002

Project Updates

1. Flash-controled multi-user robot: Talked with the engineer behind the RCXDirect.jar toolkit for Java, he's generously adding some code to expand the number of motors controlled in a single byte-array command packet. Soon... real soon now. I'm also deciding between the xCam2 or a more expensive but higher quality wireless minicam for the robot. Have already bought an RCA video-USB reception converter from DLink for 60 bucks.

2. Flash interface to Movable Type: This weekend, will finish the XML template for index and archives. The current template outputs *everything*, which makes the download feed too heavy. I will break up the feeds into main index, sub-category, and article-specific. I'm also thinking of adding some code to parse the image tag in HTML.

3. Putting my course work online: The first thing I'll post online next week is my final paper for the course "Psychology of Information Systems". The paper is entitled "Interface Design Environments For Non Programmers". In the paper, I apply recent research in human-computer interaction from the Norwegian University of Science and Technology and Carnegie Mellon University
Svanaes to analyze the past evolution and future direction of Flash technology. My favorite homework assignment from grad school :)

4. OOP Actionscript: Well, the book is more or less finished, and the technical editors (Andreas Heim, Dave Yang) are poring through every line of code with their usual rigor and high standards :) I keep thinking up new topics that seem absolutely necessary for the book, but I'll probably write them on my own time and post online for people who have bought the book, since we're pushing the publisher's page-count limit already.

5. We have been accepted to present a project at SIGGRAPH, involving the new real-time video/audio/data server technology from Macromedia.

All this stuff going on while looking for a full-time job, and I thought I was going to get a summer vacation :-)

-Sam

Posted by samuel at 05:03 AM | Comments (4)

May 12, 2002

Update

Status update on several projects:

1. Begin uploading homework from my graduate school days in human-computer interaction (I graduated 2 weeks ago).
Status: Requires more time than I thought, because each homework involves a lot of background reading of research papers, and I have to include some explanation on the context of the homework assignment

2. Build a Flash-based blog interface.
Status: I'm sure someone else has started working on this, but I still intend to build a Flash UI for movabletype. I'm talking with a few other Flash hackers about an XML standard (like RSS 2.0) for collating all blog sources into a feed inside the Flash MX authoring environment.

4. Flash-controlled Telerobotics - Integrating Lego Mindstorms robotics with Cold Fusion MX, Flash Remoting, and another unannounced Macromedia technology.
Status: I currently have a lego robot running the leJOS java virtual machine, and have some Java applications on the laptop to send commands over the infra-red tower. I've also learned how to use the Behavior/Arbitrator design pattern for simple artificial intelligence, but AI's not needed for telerobotics. Many thanks to Jody Zhang and Jeremy Allaire for tips on JRun/CFMX/Flash integration, I hope to have a working prototype soon (need to buy a wireless camera too).

5. Actionscript OOP Book from New Riders Press.
Status: We're kicking ass on this book. It's a little bit delayed due to the amount of thinking involved. I've even learned a lot from reading Branden Hall's draft chapters on OOP design patterns. Tonight, we came up with a new design pattern specifically suited for Flash development. Basically, the Flash editor allows you to define instances of visual objects before run-time. Many design patterns rely purely on class definitions that instantiate other classes, so these patterns don't work well in a pre-run-time instance definition environment like Flash. We came up with something better as we were brainstorming on a solution I proposed in my textfield chapter. My textfield chapter will end up 3 times longer than its original length. The solution was so good that Branden re-wrote part of his chapter on Actionscript OOP. Well, I don't want to overhype anything, so I'll just stop here.

This site will feature more Flash source code, lego/Flash integration, and HCI topics soon.

-Sam

Posted by samuel at 07:45 AM | Comments (10)

May 03, 2002

I'm using Fireworks for my screenshots

News

I've downloaded a 30-day trial of Fireworks to handle all the screenshots for our book on Actionscript programming, so that I don't have to use Photoshop anymore. Happily, I've discovered that fireworks handles cropping and editing in a much faster workflow compared to Photoshop (drag and click, wow), so it's perfect for my task. Even the interface is identical to Flash MX's interface. I plan to learn more about Fireworks MX and I'm considering buying it after I finish writing the book.

-Sam

Posted by samuel at 03:47 PM | Comments (7)

May 02, 2002

Responding to comments

Thanks for posting all the helpful feedback in the comments section. I get an email notification of each comment, and I just realized I've been responding directly by email. Instead, I should have been posting my responses directly to the comments sections so that everyone else can see the answer as well. Doh!

From now on, I'll email a direct response as well as post the resonse on my website's comments section. If you want a direct email response, please make sure to include your email address in the comments form. I can't promise to respond to all questions immediately because I've got a tight deadline on a new OOP Actionscript & Components book with Branden Hall. However, I will make sure to respond to all comments/questions eventually.

Your comments are great... they really help me focus on what people want to learn. Keep posting, thanks :)

-Sam

Posted by samuel at 10:39 PM | Comments (4)

April 30, 2002

Expression by Proxy Source Code!

If you haven't visited my almost-award-winning project, "Expression by Proxy",
you should check it out here. Someone asked about the source code last month, and at my request, he wrote back today to remind me about posting the source code online. I'm still working on the "Tao of Actionscript" book, so I don't have much time to clean up the source file. You'll probably get access to a big zip file by the end of the week. I'm taking a break from writing about Actionscript tonight, so here's the story behind "Expression by Proxy", and why I plan to release the source code:

Back in the summer of 2000, when I'd just graduated from college, my Flash skills were pretty good, and not just in programming either :) I had started freelancing on small projects. I had just received a standing ovation at the Web World conference. I was in the middle of writing for the Flash 5 Magic book. Things looked promising!

The previous two years of college had been very difficult, and I had spent every night for 2 years learning Flash and web development on my own. The fact that I had acquired all this skill and didn't even have my own website seemed a bit ironic. But a website needs solid content, right? My photoshop mentor once told me that every successful design tells a story, but I didn't really have anything to say. Then I remembered an experience recorded in my journal...

My undergraduate degree in health information management requires a 2-month management internship at another hospital. We have to spend time under the mentorshop of a hospital administrator before we're allowed to graduate. So, three months before graduating in 2000, I spent February and March working with the Executive Director of Information Services at the Detroit Medical Center (which is actually a huge group of 8 major hospitals). Let me tell you, management is fun if you don't mind attending spending 6 hours in meetings every day. I have never sat through so many meetings in my life. Most of our time was spent debating about JCAHO compliance, medical records processing, archive management, employee conflict-resolution, medicare / medicaid policies, and more health insurance abbreviations than you can find in a 26 character alphabet!!!

At one of these meetings, I got bored and started writing down what happened at the airport, on my way to Detroit. At the Mississippi airport, I had run into an old high-school friend. She was a professional violinist, and I used to play the viola. We used to play at the same gigs to make good money during high school: professional orchestra performances, christmas chamber music, small quartet performances, church events, etc. Her dad was a music minister and my viola instructor was the head of the local musician's union. Now, Mississippi is not a popular destination for classical musicians, so you'd see the same group of performers at each job. It also helps if your instructor knows all the pros in the state :)

So anyways, I met Leanne a