The Curse of Speed

As I am going through the thousands of shots I’ve made in the past few weeks, I realized that the Nikon D300 has made my post production process a nightmare — not because it generated any lesser quality files or colors, but rather the sheer volume of shots I’ve made by taking advantage of its relatively huge buffer — six burst shots a second for a few seconds, and do it abundantly throughout the day — I ended up with hundreds of similar-looking shots I have to go through and decide which ones I want to keep (being as indecisive as I can be)…

Fuji S5 (and previous generation S3 and S2) owners have a saying that “it’s not the number of shots you can make, it’s the quality of shots you capture that matter” And this trip has certainly made that philosophy sink in that much more.

When the D300 and D3 came out, I asked myself if I’d upgrade to them had money not been an issue. Though the D300 is a really solid camera, I now no longer believe the D300 being an upgrade because I just like the files that my Fuji generates more (the film-looking grain, excellent white balance, incredible handling with high ISO… etc). I’ll probably get another Fuji if they ever made a full frame camera. Until then, my next move would probably to get another S5 so I don’t need to swap lenses as often on the field or during sessions.

Strange Week

Please bear with me as I go through a series of events that may or may not have anything to do with each other — all in one post. I still think an entry per story/event is still the best way to approach blogging. But time seems to keep running out on me these days, hence the “mega posts”…

So I finally got to meet Sebastian in person after having read and left messages on each other’s blog for seemingly eons (in blogsphere time, that is). We had a series of very interesting and only-if-we-had-time type of conversations over dinner in San Francisco. How I enjoy intelligent conversations…

On my new “job”, one reason I took the job was so that I could finally jump into Flash and Flex full time. But all that hope is all but gone now. Due to the relative shortage of qualifying candidates the company needs to develop the project using Flash/Flex, they’ve decided to switch strategy to meet the internal deadlines using JSP, CSS, Javascript, Ajax with a dash of Flash. It’s good and bad news all rolled into one. On one hand, I am glad they made the call because this means my existing skills in CSS and Ajax would make the development process a lot more rapid. But I am also disappointed that I won’t be leveraging the project to further develop my Flash/Flex skills. But I guess this is all good considering the baby girl is arriving anytime this week now… Lack of sleep makes learning new things an impossible task.

Also, given my relatively unique combination of skills and experience in interaction design and programming, it seems like both the design and tech teams are trying to leverage my strengths to their own advantage in all-but-invisible company politics. OH Crud…

Then came Thursday morning — just another normal working day for me. But that morning almost became a traumatic day for me as I, along with dozens of other Caltrain passengers, witnessed someone almost got run over by the very Caltrain I was supposed to catch for work. Luckily the train missed him by about 1/3 of a step, ending up clipping him on his right temple (at which spot blood seemingly came pouring out nano seconds later). The train would’ve crushed him if only he’d accidentally stepped into the track 1/10 of a second earlier….

The blow knocked him almost unconscious. Unable to stand straight, he almost fell towards the track, which would have been fatal. Fortunately a couple of cyclists were close enough to drag him away from the train, which was just about to come to a complete stop. Everyone was shocked and froze as if nobody believed this was happening — me included. I called 911 and was told by the dispatcher that a flood of calls also came in at the same time about the same incident.

The fire fighters were the first there at the scene along with its own medic unit. Then the police came one after another (3 on motorcycles with 2 others in 2 separate cars). The ambulance, of all services, came the last — looooooooong after the fire fighters arrived. Caltrain also dispatched a supervisor almost immediately, arriving after the ambulance.

It was a shocking experience that reminded me of the collapsing of the NYC Twin Towers on 9-11, of which I also witnessed as the towers crumbled…

I learned a few useful things having watched the entire event unfolding: (a) Fire fighters are awesome. If anything, they need more funding, not to be cut back! They were the first responders and the very last to leave besides the Caltrain supervisors. (b) Police weren’t really all that helpful except to be there to “investigate” what happened. They showed no urgency nor sympathy towards the person who was injured (as I saw a couple of them were even smiling and laughing as they rode away on their motorcycles — the little respect I had left for the cops was diminished that much more). (c) Look both ways when crossing the road, train track, whatever… (d) Humanity usually shows its best side at the worst of times. (e) Life is fragile. That very well could’ve been me.

Then came Sunday. Grace scheduled two photo sessions for me almost back to back. Now I have around 5,000 photos (along with ones from Missouri) to post process in the coming weeks… And the baby is coming…. and the looming deadlines of the new job… Oh, life…

Survived First Day of Work. Tired.

So I survived my first full day of work after years of freelancing since I left my last job. Though I spent most of the time reading the Internal documentation on the projects, I still felt like I over used my brain for the entire day.

One thing about returning to a full-time job is that I am not working alone anymore. And I get asked questions from time to time, which also helps sharpening my mind a little more. Being able to bounce ideas off of other is an important learning process, especially since I’ve hit a certain plateau in terms of programming techniques. I needed to be with other programmers and artists to move to the next level.

Another advantage is I am forced to walk to take public transit (which is slightly cheaper than driving to work). I have to walk 15 minutes to and from the Caltrain station, which is just like when I lived in NYC. This will definitely help reduce some of that fatherly fat around my belly.

So the week will progress on with meetings after meetings in handing off workload to me to start implementation. Good times.

Full Time Employment Again (Almost)

After almost four years of freelancing and eating Bryan’s food scraps, I finally caved in and signed a short-term contract with a local startup as a Flash developer. Since the company is in this super stealth mode, I don’t want to reveal too much about what it is. But I sure look forward to learning some enterprise-level skills after having worked almost entirely independently for a few years.

Actionscript has come a long way with v3.0. But I was surprised how fast I picked it up with my first Flash project a while back considering how much I hated Flash. It’s going to be interesting to see how I will be using it in an almost entirely Object Oriented environment using Model, View, Controller concepts — both of these things I actually wrote on my white board earlier this year as my new year resolutions for 2008…

I will probably hop on the “full time” train once I have checked out the potential of the project. I am definitely not going to repeat the same mistakes when I was a full time employee last.

Ah, life.

Hacked, Again

My blog had been breached once before with the same attack. But it’s happened again even though the WordPress version being attacked the 2nd time was definitely newer than that previous attack. I hadn’t been on my own blog for weeks. And the only reason I found out was because I installed Firefox 3 Beta 5 on Grace’s machine, and the new Firefox (working with Google) has this new feature that can detect “bad ware” like that.

wiredatom attacked

Basically someone “somehow” inserted a line of Javascript code into a couple of my blog entries and pretended to be “statistics” code. But in reality, it’s a script that behaves as trojans, presumably for Internet Explorers…

After some troubleshooting and searching, I removed all the codes and requested my site to be reviewed by Google in order to be considered safe again in its database…

Firefox 3 Beta 4 Graphic

I wrote about Firefox 3 Beta 2‘s cool intro page upon first launching it. Now Beta 4 is ready with a new intro page (though I’ve been using the nightly builds for some time now). It’s table as hell. And it’s nappy as hell (almost as fast as Safari 3 now).

firefox_3_beta_4_graphic

I honestly can’t find any bugs that are show stoppers. So head over to Oxymoronical and download the Firefox Nightly Tester Tool to help enable all your favorite plugins on this beta and start enjoying the new Firefox.

Here’s a list of improvements made in this version for you geeks out there…

On a similar note, sites I’ve built ever since Firefox 1.5 are still holding up perfectly in Firefox 3. But looking at the progression of Internet Explorer, what was built for IE5.5 almost always needed tweaks with each subsequent upgrade! Talk about poor forward planning on Microsoft’s side! Boo! And that’s what happens when a company makes piss poor browsers that doesn’t adhere to industry standards (and with its own internal standards changing all the time).

Volusion V5

I’ve written Volusion a few times. The first time I used Volusion (version 4) it really sucked in terms of UI (though the commerce portion was pretty good). And many of the problems in V4 were addressed in V5. So kudos to Volusion for noticing what sucked and made improvements upon them.

The good on V5:

  1. Much simplified templates. No more nested ASP codes that one may accidentally delete/alter and break the entire store. It’s now easier than ever for any designer types to make modifications to the store’s front page.
  2. Way better administration console on the back end compared to V4. Cleaner UI with improved tool tips.
  3. Great documentation now with video tutorials and an active community forum.
  4. Ample email tech support.
  5. Easy to copy/paste Div IDs that would ultimately to be replaced by generated codes. Volusion has good documentation on them too.

Now the bad on V5:

  1. Templates are somewhat messy and limiting. For example, it’s hard to change the way the featured products are dynamically laid out on the homepage. There are tables upon tables upon tables nastily nested within each other with the generated codes — I’ve never seen a more ugly generated code with tables like that.
  2. Web 2.0 functionalities need to apply (unless they were implemented by Volusion). It’s a little dubious that neither Prototype nor jQuery were allowed to run on Volusion because somehow it breaks the
    1
    $

    functions that make those Javascript libraries so beautiful and powerful to use.

  3. It’s one thing to produce generated code, but it’s another to NOT give them good ID or class labels so that us designer/coder types can at least manipulate the look and feels more easily. It’s not unusual to target a table nested 3 or 4 layers down with CSS selectors trying to get something look just right.
  4. Tables are evil, especially nested ones. At least have the sense of giving us the chance to alter/modify those templates that were generated from the ASP code (i.e. featured products). For example, give us the template that generates the output of each product. Even if they are just tables, show them to me and allow me to replace all those tables with nice and easy DIV tags!
  5. About the only thing that someone can really customize is the homepage. Everything else is pretty much locked down (or at least I couldn’t find a way to modify the other product pages in any meaningful way). In other words, customization is limited only to the homepage (layout wise), everything else all you can do is font sizes, colors and what not (maybe some graphics)… that is if you know your CSS (Thank you, Firebug and Safari 3 Web Inspector)
  6. Volusion claims that they have fixed the transparency problems with
    1
    .png

    files. They lied. PNG files will show like a sore thumb in IE6 and earlier. And don’t bother to include one of those

    1
    .htc

    fixes in the header or CSS either. Volusion doesn’t allow them.

  7. Instead of using standard Prototype and other popular Javascript libraries, Volusion opts to use some commercial package that is 3rd rate at best in performance and generated output.
  8. The pages are pretty slow to load. I’ll bet it’s because of all the nested tables. It’d be in Volusion’s best interest to cut down the load on CPUs on those nested tables per page so that its overall server performance can increase for everyone!
  9. Email support is getting pretty slow in replying issues. It used to take mere hours, now the turn around is the next day.

I hope Volusion fixes at least the problems with Javascript libraries so that I can use Prototype and Scriptaculous to enable my clients’ sites to be more visually interesting (without constant page refreshes!). The next big deal would be to allow more flexibility with templates elsewhere.

Otherwise, I think Volusion is still a decent package. It’s just that many of the stuff they implemented are still stuck in 1998.

MacBook Pro Battery Replacement

About a little over a month ago, my MacBook Pro would just randomly shutdown when running on battery power even if the battery was still at around 60% charged. That really pissed me off because I really hate the process of having to restart and set up everything again before I can dive into work, not to mention the mysterious shutdowns was really getting me worried about data corruption (like it did to my Lightroom catalog).

Unfortunately I couldn’t really part with my computer for work reasons, so I hadn’t taken it to the Apple store because it might mean I’d have to leave my laptop there for a few hours (or even days). And I’d have to go through the motion of backing up everything again… But I decided to call Apple today anyway because it’s ridiculous that my less-than-one-year-old battery can now only stay unplugged for less than 1/2 hour on a full charge!

Apple told me was that batteries are “consumable goods”. And the tech support told me that an average battery life is for about 300 charge cycles, and mine was reading 463! I told them it’s understandable that a battery would ultimately become less chargeable over time, but for its capacity to drop so drastically within a period of less than two months is unusual.

They agreed. And a replacement battery is on its way courtesy to Apple.

So my MBP will soon resume its role as a portable again. Yay!

UPDATE 03.10.2008: My replacement battery arrived the next morning via DHL! Grace then called them to pick up the replacement unit the next morning; they came within a couple of hours… Wow.

Installing Multiple Firefox Version on Windows XP and Mac OSX

As a web developer, one of the worst nightmares has to be dealing with all the different browsers under the sun (not to mention the various versions).

I wrote about installing different versions of Internet Explorer on Windows XP for testing purposes (simply because each version is so drastically bad in its own unique way that you need to test each one of them separately). I had decided to take that one step further with Firefox today.

Thank goodness for oldapps.com, I was able to get hold of Firefox 1.0 and 1.5 to play with in XP.

Installing on Windows XP (not for the faint of heat, or you can try the standalone versions of Firefox without worrying about going through the troubles.):

1. Download and install an older version of Firefox. When you run the installer, make sure you choose

1
custom

installation and install this version in a different directory. For example:

1
Mozilla Firefox 1.0

(in keeping with the default naming convention). Continue installation as prompted. DO NOT RUN Firefox when it’s done.
2. Open Windows Command Prompt and type the following and press

1
Enter

:

1
set MOZ_NO_REMOTE = 1

3. In the same Command Prompt, type

1
cd

and find your way to the version of Firefox you just installed. Using the folder naming convention above, it’s probably something like this:

1
cd /"Program Files"/"Mozilla Firefox 1.0"/

4. Once you are in the directory, type the following and hit

1
Enter

:

1
firefox.exe -profilemanager

5. Firefox’s profile manager should now appear. Now create a new profile and name it accordingly (i.e.

1
firefox1.0

). If you want, name the

1
default

profile to the version of Firefox you currently have prior to the installation.
6. Now go to the appropriate Firefox folders and make shortcuts from them and put them where you access them the most (The Taskbar in my case).
7. Right click on the shortcuts and select

1
Properties

to pull up the Properties window. In it, there’s a

1
<strong>Target</strong>

field. At the end of it (after the double quote), append the bolded typeface in the following:

1
2
3
"C:\Program Files\Mozilla Firefox 1.0\firefox.exe" <strong>-p Firefox1.0</strong>

Do this with each version of Firefox shortcuts you have with a matching profile name. And you are done. The only caveat is you can't run multiple versions of Firefox concurrently like you can with the "Multiple IE" install.

Here’s what my VMWare Windows XP Taskbar looks like:
windows xp taskbar

Installing on Mac OSX:

The process is similar to those found on Windows XP. But I couldn’t get them to work as advertised. So I can’t really endorse the methods here. But there are standalone versions out there that made my life easier.

The upside of Mac OSX is, multiple versions of Firefox can be running at the same time!

UPDATE: I did manage to get multiple Firefox versions to work without asking for a profile upon launch every time as described by Jeroen Coumans‘s blog (PDF). But there’s a trick that you should know about!

For the life of me I couldn’t get them to launch without asking for a profile even though I followed the steps exactly. The problem? I had three versions of Firefox in the same directory labeled:
Firefox 3
Firefox 2.0
Firefox 1.5

That’s a NO to the hack described on the site. In order for the script to recognize the paths, the portion of the name following the word “Firefox” can not be repeated. I have tried “Firefox-” followed by the version number, but that didn’t go. And underscore didn’t do it either. But if you simply remove the space making the names looking like:
Firefox3
Firefox2.0
Firefox1.5

Then all is good.

I will probably install a couple of older versions of Opera as well since they are supposedly pretty simple — simply install different versions of Opera in their own folders and be done with!

via [JiveBay] and [Jeroen Coumans]

WWSJD

Grace asked the other day what Alicia was talking about WWSJD… I paused in disbelief.

It’s no secret I am a Mac fanboy. More specifically, an Apple fanboy. Not that I think everything Apple does is the best, but everything they have done shows they have put a lot of thought and understanding in their products, services and their audience. I just can’t say the same thing about any other company.

So it’s only natural that I have come to admire how Apple has been able to design everything with an element of “human touch” to it. This was less evident during the “Steve-less” years of Apple. But suddenly when he returned, everything has a “Steve-ness” to it again! So I have concluded it’s the “Steve touch” that makes everything pop.

When I am stuck at a design decision, I try to clear my head and imagine “What Would Steve Jobs Do?” (WWSJD) if he was in the same situation…

Of course the act itself is a lost cause without having worked with His Steve-ness (though I came close having made to the final rounds of interview at Apple once in 2005). But the process works in that I’d be forced to think more objectively from a human interface design point f view. And I’d more closely study, dissect and analyze Apple’s UI design decisions on my Mac and on Apple’s website.

This also works in information organization, which is also an intricate part of UI design when the user has to interact and process the information visually. This has been something I haven’t been good at as evident with how the pricing section of my photography site is laid out. I am lost when there’s A LOT of information to be processed in a minimalistic fashion. So I am going to give it another shot sometime next week.

But word on WWSJD. Word

Soft Launch

I quietly launched my photography site yesterday without making a fuss about it. I still think it’s not quite ready for “live”. But I am already three weeks past my self-imposed deadline (two days past the 2nd deadline). So it had to be up just as a matter of principle.

So I finally added a portfolio/gallery, added more blog entries (which I had to backdate for chronology’s sake) and made a bunch of enhancements to the backend management console. But I still have a bunch of stuff I need to do with it: Most noticeably — Trim and organize the portfolio in a meaningful order (Prof. Randy Akers would probably have something to say how the portfolio is ordered right now), further streamline the pricing section to make it easier to follow (possibly replace text with some kind of meaningful graphics or illustrations)… etc. I mean, that’s probably what Steve Jobs would have done!

shunchu.com photography site

Curious where my professional photography site is? www.shunchu.com

DUH!