« archives

March 2007
S M T W T F S
« Feb   Apr »
 123
45678910
11121314151617
18192021222324
25262728293031

recently

news from around the web

» view all

Archive for March, 2007


My Aversion to Java Explained

Tuesday, March 27th, 2007

I work on Java software for my day job, and now for my night job as well (don’t worry, that’s not Zenphoto). I learned Java in college, I’ve used it for years, I know it well, but I’ve never really liked it as a general rule; as in, I’ve never ever thought “Wow, Java would be really great for this project!” with any enthusiasm. Java has been the choice because of other reasons in every case—on one project, my team chose it because it was the one common language we all knew, so there was no learning curve. At work, I’m stuck with it because that’s what the “enterprise” software I customize is written in. Now in a new project I’m getting into, we’ve decided on it for scalability and a new web application framework called JSF, and it’s actually looking pretty good so far. But as I sit here learning JSF and the component framework I’m going to be working in, I came to a clear realization:

Nothing in Java is simple.

That’s the bad taste in my mouth. That’s the main thing that makes me dread opening NetBeans or Eclipse. The reason is stupid: I am a designer at heart, not a programmer. Programming is more visual for me; I try to see organization and elegance in the end user interface as well as in the code behind it, and Java pretty much obscures that notion of beautiful code entirely. It’s just not simple enough to be called that.

So what programming languages do I like? Well I’m a PHP programmer by preference, because very little gets in the way between me and the HTML. It’s inherently simple, because it gives you pretty much nothing to start with. Next on the list is JavaScript, which I like a lot, for many reasons. And after that, ironically, I guess it’s Java.

So I have a love-hate relationship with Java. On the one hand, it helps you do stuff you couldn’t ever do in a simpler language, it’s automatically cross-platform, it’s generally fast these days, and it’s easy to work with in the right IDE. On the other hand, it’s complex. So what? I can live with complex. It just annoys the heck out of me sometimes that I have to jump through so many hoops just to build an interface component. Sigh… in the long run, though, it’ll work better for it.

But one thing you can be darned sure of: Zenphoto will never be a Java application.

Review: Panasonic Lumix DMC-FX01

Friday, March 23rd, 2007

I’ve been in the market for a new camera after having my Olympus E-300 stolen out of my car a while back, and before going on a ski trip this year, I decided to just go grab one from Best Buy. I did minimal research before going, but I’m happy with what I got, so here’s my review.

Panasonic FX-01 Camera

For specs and in-depth testing, you can read the excellent review at dpreview.

After using this camera for a couple of months, I’ve come to like it very much, and especially some of it’s very unique features. To get right to the point, these are:

  • 28mm wide-angle zoom lens
  • Optical image-stabilization that actually works
  • Leica-branded sharp optics

That’s it really. Those are its unique features. The rest is pretty run-of-the-mill. But let me explain why those three are so great and make this camera worth its weight in plastic.

Read the rest of this entry »


Apple Marketing vs. Microsoft Marketing

Tuesday, March 20th, 2007

Just a pictorial comparison; draw your own conclusions…

Apple

Microsoft

That Microsoft ad was in the Powell Street BART station, which Apple used to own completely. Now it’s plastered with “Wow” ads that don’t make me say wow. The Apple store above was a block away, jam-packed with people. If that’s not good marketing I don’t know what is.

No comment on these, it’s just an interesting case study. Why would a company like Microsoft choose to have such bad marketing? Could they possibly do better, or is it not in their nature? Why does apple just “get it” and how would another company achieve the same? Why don’t they?

Built me a new system!

Monday, March 19th, 2007

New Computer case insides.

I decided to go to Fry’s today and pick up parts for a new computer, mainly because of the RAM upgrade problems I’ve been having with the old one (I couldn’t put more than 512MB in it, any more would crash the system for some unknown reason).

I went all out, but didn’t break the bank too badly. Here are the specs:

  • AMD Athlon 64 X2 5200+ (2.6 GHz) Dual-Core processor
  • Gigabyte M55 NForce4 Socket AM2 motherboard
  • 2 GB OCZ 800MHz DDR2 RAM
  • Nvidia GeForce 7300GS 256MB Video card (so I’m not a hardcore gamer…)
  • Thermaltake Matrix case, Thermaltake 400W Power supply
  • And to top it off, a new wireless mouse, because it was on sale.
  • (Plus existing hardware: Ethernet card, SB Live sound card (for MIDI keyboard support), 250GB/40GB hard drives, DVD±RW/DVD drives, etc.)

New Computer case front

Basically the only reason this is a “new computer” and not a “CPU upgrade” is because I got a new case, in hopes that it would be quieter than the old vacuum cleaner. It is, so I’m happy. That and the RAM and CPU upgrade make it a workstation worth developing on, and the upgrade process (moving the drives) was fairly painless, with ye olde “move hard drive during XP upgrade install” method.

I have to say, the speed improvement going from the old system to this is very noticeable. It’s probably the RAM mostly, followed by the extra multitasking ability afforded by the dual-core processor. That boggles my mind, to have an actual dual-core in my own computer… my dream systems always had dual processors, and now here it is, nicely consolidated. Blows me away.

Okay, now to clean up all the packaging that’s strewn across my room… Whew!

Wordpress wp-cron.php and Bad Behavior Apache crash

Saturday, March 17th, 2007

Update: This is old info, and not correct anymore. The problem was a result of a bug in Apache2 (or Ubuntu’s version of it) in which apache processes swapped out to disk would not release, and would consume all memory and crash the server. After an ‘apt-get upgrade’ on 8/30/07, apache2 was upgraded to ‘2.0.55-4ubuntu2’ and the problem has disappeared. For users experiencing this issue, I recommend upgrading your version of apache to the latest.


I have just discovered the reason for the sporadic server crashes I’ve been seeing over the past month or so. The symptoms include: Server slowing to a crawl, Apache reaching max_clients and never releasing its connections, Apache processes getting “stuck” and never going away, and finally, all open requests are for wp-cron.php?check=[somelongnumber] (which you may find out through apache-status, which looks like this).

Read the rest of this entry »


Wait, I’ve got no green…

Friday, March 16th, 2007


Happy St. Patrick’s Day!

Zenphoto dynamic theme concept

Friday, March 16th, 2007

I started working on a Zenphoto theme to sort of mimic the performance of Google’s Picasa Web Albums service (which is very nice, and was recently upgraded to 1 GB of free storage, see my public albums there for a good example).

Picasa-Web made huge strides in the usability of online photo viewing, in my opinion. The main advantage was the quick loading of previous and next images when browsing an album in the one-image view (where most browsing takes place, or at least, where the user cares most about speed). It was all done in JavaScript and AJAX, of course, and images were even loaded in low-res (pixelated) first so you at least saw something if you were too fast for your connection.

The other real speed improvement came unexpected—simply using the ‘onMouseDown’ event instead of ‘onClick’ to trigger the image switch. It’s incredible how much faster the first feels. It’s like the transition happens before you even thought about it, as if it’s somehow reading your mind. I guess that just shows how ingrained it is that actions happen when we lift the mouse button. That probably makes sense for most actions, but for browsing a photo gallery I can see why instant action is preferred—it feels fast, very fast.

So without further ado, I give you an image page with dynamic image loading and navigation. Please, browse, take a look, and tell me what you think.

Things that still aren’t complete include:

  • Comments, loading and submitting for each image.
  • Navigating to a specific image (currently always goes to the first)
  • Browser history/back/forward preservation
  • Full-sized or larger-sized image view, with Light/thick/slimbox etc. perhaps
  • Better theme design—should be a good one.

so don’t complain about them just yet.

It’s a proof-of-concept, to prove that it’s possible (and quite easy) to make dynamic and fun themes with Zenphoto. All the framework for processing images, iterating over objects, and page handling is done by Zenphoto, leaving the theme developer to focus on the javascript design, which is the fun part of course :-) Zenphoto also makes it easy to “fall back” to non-javascript behavior very easily (though this theme doesn’t show that).

I’ll work to complete this theme in the coming months, hopefully releasing it sometime soon in a more complete version. The code for the dynamic image navigation may also become a part of the Zenphoto core, at option to be turned on or off by the user. Themes wouldn’t even need to be changed to take advantage of it. Please, leave a comment, tell me what you think! Thanks.

The Birth of a Hummingbird

Thursday, March 15th, 2007

My girlfriend discovered the most amazing thing last month in a tree right outside her apartment window—it was a hummingbird nest! Not something you get to see every day when you step out your door, but she did for over a month! It all started with the mommy hummingbird just sitting in her nest incubating eggs…

P1000650
The mother hummingbird sitting in her nest. 2/1/07

Keep reading for over a dozen pictures, including one of a baby hummingbird learning how to fly. It’s priceless, don’t miss out on this one. :-)

Read the rest of this entry »