Learning Photography

I already put up the notes from my class "Photographing the National Geographic Way" and now I have the pictures up. They are divided into two sections. The first section is the pictures that I brought to class from my homework assignment. The second is the ones that my teacher allowed me to present to the class. That doesn't mean that they're better, it just means that they had a lesson in them. I've tried to capture her comments in the description attached to the photo, perhaps others can learn from my mistakes also.

Kid at the Farmer's market       Oranges in the sunshine       Oranges in the sunshine

All of the pictures were take at the Brentwood farmers' market. I highly recommend farmers' markets, especially in California. The produce and flowers are wonderful, plus you're connecting more to local production. It was a joy to spend a morning there and take pictures.

posted on Mon, 31 Oct 2005 at 02:28 | permanent link | 0 Comments

Anonymous Sources

Today Lewis Libby was charged with misleading investigators of the Plame leak. The investigator, Fitzgerald had a press conference announcing this and was asked a question about the NY Times reporter Judith Miller being put in jail for an unwillingness to cite a source. Now, I'm a huge fan of the media being a 'forth estate,' although I don't know that they've lived up to that in the last few years. I want the press and free speech to be protected. I still think Fitzgerald made a good point:

I tell you, I will say this: I do not think that a reporter should be subpoenaed anything close to routinely. It should be an extraordinary case.

But if you're dealing with a crime and what's different here is the transaction is between a person and a reporter, they're the eyewitness to the crime; if you walk away from that and don't talk to the eyewitness, you are doing a reckless job of either charging someone with a crime that may not turn out to have been committed -- and that frightens me, because there are things that you can learn from a reporter that would show you the crime wasn't committed.

What if, in fact, the allegations turned out to be true that he said, Hey, I sourced it to other reporters, I don't know if it's true ?

So I think the only way you can do an investigation like this is to hear from all the witnesses.
Patrick Fitzgerald, October 28th 2005, Transcript

The distinction that he is making is that the reporter is a witness to the crime being committed. This much different than a Watergate or other such crime as the informant is only giving the reporter information about a crime that was committed. Here, giving the information is the crime in itself.

The problem is where the line needs to be drawn. Does Apple have the right to subpoena a media outlet to find out who leaked their latest design? Technically divulging a trade secret is illegal, and the reporter would be the only witness to that crime. I'm not interested in giving up freedoms to protect Apple's surprise factor.

So, in the end I have to conclude that it is best to leave sources as protected. Even though I realize Mr. Fitzgerald's point, and in many ways agree with it, any relaxation of the protection of all sources leads to abuse by corporations and over-zealous prosecutors. He does make a good point that that investigators would be remiss without asking for a reporter's testimony, and to try and reasonably compel them to give it, in cases such as these. I respect that fact that he argued before several judges before doing so, and think that should be required. I would agree that his actions were reasonable, he defended them to me too.

posted on Fri, 28 Oct 2005 at 20:08 | permanent link | 0 Comments

770 Competition

As you may remember that I'm excited about the upcoming Nokia 770 Internet Tablet. I think it is an exciting product, and even more fun because it runs Linux. But, I noticed some interesting competition today.

The GP2X is a mobile gaming platform that runs on Linux. At only $225 US it is a step cheaper than Nokia's expected $350 price tag. The Nokia 770 has bluetooth, WiFi, and a larger touch screen, but that doesn't make the GP2X less interesting. The GP2X is targeted towards gaming and it even runs GPL Quake. With a joystick and the standard 'diamond' of buttons for the right thumb it provides an interface that gamers are used to. It seems like a dream for independent game producers (assuming they get enough sales for a market to develop).

I'm don't believe one of these will 'win' or 'lose', but it does set up interesting times in Embedded Linux development. Developers can choose from several impressive and inexpensive platforms to deliver applications whether they be games or productivity apps. Hackable is the new pink.

posted on Fri, 28 Oct 2005 at 19:49 | permanent link | 0 Comments

Inductive Driving

Hybrid cars are an interesting addition to the choices for individual transportation for people. They still have the problem of generating their electricity with a small gas engine on board, which still pollutes and uses oil. But, they're better and a step in the right direction. The question becomes: How can we limit the amount of power the gas motor has to create?

The most obvious solution is to have larger batteries and plug the car in at home. This seems to be something that consumers are uncomfortable with. When I was looking at hybrids the sales person kept saying to me "you don't have to plug it in." When I explained that I wanted to plug it in, it was reiterated to me that I don't have to. People seem to see this as hassle, even though it would allow most short trips to be electric only. How do we solve this problem?

Inductive coupling, while not as efficient, would allow power to be transmitted to the vehicle, without plugging it in. You would simply have a mat on the floor of your garage and when you drive it it starts to charge your car using the power available to the house. If you can't park in the garage for a night, that's fine, you'll just get worse gas millage the next day. You have flexibility, with a simple method for reducing your gas costs. If popularized, you can imagine that garages would come with the feature built into the floor.

I think it is also possible to take this a step further, to metropolitan inductive coupling. So, when you're stopped at a traffic light your car is recharging. In a parking garage, your car is recharging. Perhaps even a system could be developed so that while your driving down the street, you could be running off of grid power. This would reduce emissions where we need the reductions the most, in cities where the number of cars is the worst. But, if you want to travel cross-country, or to a city without the system, your hybrid gas engine will kick in and supply you power. RFID could be used for billing, so that each owner would pay for the power they consume from the grid. But, I imagine that some downtowns would provide free power as a pull to bring consumers from the suburbs to downtown shopping.

While this is just a framework for an idea, I think that it provides for the growing needs of a more populous world while still allowing for the individualism that we've come to expect. You still choose where you go and when, but you get to use the power grid for most trips. Of course, with automakers, this really needed to be a standard 5 years ago, but it still may have some life with increasingly environmentally conscious consumers.

posted on Thu, 27 Oct 2005 at 13:19 | permanent link | 0 Comments

Waterproof Camera

Pentax has introduced a waterproof camera. I think this is great. There are lots of places I could see taking something like this, and it is just a little more expensive than a waterproof case for my current point-and-shoot camera (much cheaper than the waterproof case for the DSLR). For rafting or kayaking, this would be a cool camera to have. Hopefully more vendors will start to do this, driving down the price. A waterproof cell phone would be nice too.

posted on Thu, 27 Oct 2005 at 00:41 | permanent link | 0 Comments

Inkscape Support

You like Inkscape and you want roll it out to your entire company, but you need support. Bulia has listed himself for contract work on Inkscape. So, now all you need to do is send that e-mail to the CIO; get on it!

posted on Fri, 21 Oct 2005 at 13:36 | permanent link | 0 Comments

The Humane Interface

The Humane Interface is Jef Raskin's collection of problems and lessons learned from a lifetime of designing for users. The list of projects he's worked on is impressive in itself, which makes his word one of authority on the subject. But, I think that he takes a tact that is not always useful for practitioners of user interface design today.

Many of Raskin's comments deal directly with the hardware that the user uses to interact with the computer. He would like to add an "Undo/Redo" key and a "Search" key on keyboards. He would also like to add a "grab" feature on mice for dragging objects around the screen. While I'd agree that these would be notable improvements to how people are using computers today, for most interface designers, these are the things they're not allowed to change. Yes, the Undo/Redo key could be accomplished by a keyboard manufacturer sending Ctrl-z and Ctrl-Z depending. And the Apple mighty mouse does have some sort of grab feature, though I don't know of wide uses of it yet. But, until they are in greater use, most user interface designers can't assume their existence.

Much of the book does focus on very practical things that a user interface designer should think about when looking at his interface. It also gives the vocabulary to start understanding what is wrong in the interface. Things that I had an inkling of I can now explain precisely with terminology and examples. This is important, sometimes to understand the problems you really have you need to find a way to discuss them and bounce the ideas off of others. For someone untrained in user interface design, this was a hugely valuable lesson.

Another lesson to be learned from Raskin's book is when you have a great interface. I like this quote, it seems almost designed to put into your blog:

... become so habitual as to be nearly addictive, leading to a user population devoted to and loyal to the product. Its users would find moving to a competitor's product psychologically difficult. Unlike selling illicit drugs, marketing an addictive interface is legal, and the product is beneficial to its users; in another way, it is just like selling illicit drugs: extremely profitable.
     p.68, The Human Interface, Jef Raskin, ISBN: 0-2-1-37937-6, 2000

Comparing an interface to drugs, that'll get lots of hits from the .edu folks.

One thing I found interesting about the book is how hard it was to read. It is ironic that a book on making the user experience better was difficult to read. I don't think that I have a great vocabulary, but the word choice made reading this book difficult. Also, there was an extensive use of references to other sections in the book. Many times the usefulness of the reference could have been stated in a few words and the disruption to the reader would have been avoided. Overall this made the book hard to loose yourself in, and yes, I normally can loose myself in technical literature.

Overall, you should read this book if you deal with user interfaces. It is an important work by and important author on the subject. Although there are things I did not like, if I was teaching a class on user interface design it would be required reading. It takes focus to read, but is definitely worth the time invested.

posted on Mon, 17 Oct 2005 at 20:25 | permanent link | 0 Comments

Memefic: The Prize

This is the middle of a story. The rules are here. This post is dedicated to the public domain.

Memefic Navigation: First | Prev

As Agt. Alton walked into the building the alarms were still sounding aimlessly. He knew as well as everyone else that the thieves were long gone. He looked around intently but still allowed himself a chuckle under his breath as he watched the MPs scamper around trying to find clues. These were professionals, Chthnium is useless to anyone who would leave clues easy enough for them to find.

He followed the path that the thieves must have taken through the top secret facility. The guards that had to be shot were shot, no extra bloodshed, no ego kills, nothing. There must have been significant surveillance, they knew everything about the facility and the exact location of what they wanted. They executed the operation at night, when the substance was most stable, the only time you could reasonably move it without containment. Every detail was perfect.

Who could do this? Who would want the Chthnium? Foreign governments? Terrorists? Activists? The material was just too useful to rule any one group out.

Every time he got one of these assignments he thought about screwing it up, to avoid getting another. Getting called at two in the morning and hearing "The Director has requested you" isn't exactly as exciting as it was when he was younger. Amy's birthday will just have to wait another year.

Continuations:

  • None

posted on Sun, 16 Oct 2005 at 18:30 | permanent link | 0 Comments

iPod Video

If you're reading this on the Internet you probably realize that Apple has released an iPod that can play videos. While the product isn't revolutionary (iAudio has been doing this a while) the interesting part is that they're selling TV shows through iTunes. Now, you can buy episodes of your favorite ABC show for $2 an episode. Wow, that's different. Tivo changed the way we view TV programming, no longer is it channel based but program based. I view a particular program as a unit, no before or after exists. Apple is now changing the way that pay for TV programming. Now there are basically three ways to pay for your programming.

  • Cable with network PVR You pay a fixed monthly price but they control your recordings. You have more space, but if you ever drop your service you loose everything that might have been important to you. For this you pay a fixed monthly fee.
  • Satellite or Cable with stand alone PVR You have a fixed amount of disk space at your house but, you control that disk space and what is on it. The programming you want to save can be saved. For this you also pay a fixed monthly cost.
  • iTunes Store You can pay individually for the content that you are interested in. You're home sick, you can buy all the episodes of Desperate Housewives to keep you company. Spend a month in Europe, you don't have any reoccurring fees.

Now, I'm unwilling to bet on which of these will win. It will undoubtedly be an amalgamation of the three, but it is always interesting when a new player comes on the field. In the music business iTunes model is taking a lead, though that may be caused by the design of the iPod itself. If you think that blogs are killing traditional media, and that podcasting is killing radio, you'd have to assume that this is going to kill traditional broadcast. Though, it still doesn't take care of watching that live sporting event.

posted on Thu, 13 Oct 2005 at 21:22 | permanent link | 0 Comments

Conceptual Overloading

Mental discussed and linked to a interesting article on the scientific theory and how that relates to what we know and believe in the context of electrons and fairies. I'm a touch worried that readers who read his blog, and know he is Catholic, will believe that he is just being a religious zealot who is out to destroy teaching of science in school. If you think that, you're wrong for several reasons:

  1. If you read his blog, you'll realize Mental isn't like that.
  2. Your the one being the fanatic if you're distrusting a logical argument because of someone's beliefs. You should base your disagreement on the content, not the person.
  3. I agree with him and the last major contact that I had with a church was getting hit by a nun's car in front of one (that really did happen).

We need to stop teaching The Origin of the Species in schools, but continue to teach Evolution. I do realize that one is a book title and one is the concept presented in that book, but I think separating them makes an important point. Evolution is a process that is recreatable, we can seen bacteria change in response to anti-bacterial soap. We watch disease change to resist medications that we take to stop them. We can recreate evolution and it is an important process to teach in any modern Biology program.

The Origin of the Species is different, it is a thought on what could have happened. It is taking the equations that we've created, and running them backwards. No one has taken primordial goo and made a human out of it, so how can we call this scientific fact? No one has recreated it. It is a guess based on the concepts that we use to predict the future. And, we don't need to teach that as fact, it is one philosophy on what happened in the past.

But, this is just a symptom of a more systemic problem in science teaching today. The greatest strength of science is that nothing has to be taken on belief, everything can be recreated (if you have the equipment) and tested. If you disagree with someone else's findings, prove it, come up with a new theory that predicts things better. Science is thus dynamic. But, in our educational system we teach science as factual, the truth, when it is just as likely to change in the future as anything else; and that is a good thing! We need to teach the process of science, the process of questioning, not to blindly accept today's understanding as fact.

posted on Wed, 05 Oct 2005 at 21:38 | permanent link | 0 Comments

SVG Rectangle in PHP

It is pretty simple to create an SVG file using PHP. PHP is built on the concept of executing code inside another document, for example, PHP embedded in HTML. While that is a very good way to create dynamic SVG documents, this little tutorial is going to create the SVG file from scratch as an example. In most cases it is better to work from an SVG file created in a program like Inkscape.

Here is the rectangle that we're going to create:

Here is the source that creates it:

<?php
    $doc = domxml_new_doc("1.0");
    $root = $doc->add_root("svg");
    $root->set_attribute("xmlns",
                         "http://www.w3.org/2000/svg");
    $root->set_attribute("width", "120");
    $root->set_attribute("height", "120");

    $rect = $doc->create_element("rect");
    $root->append_child($rect);
    $rect->set_attribute("x", 10);
    $rect->set_attribute("y", 10);
    $rect->set_attribute("width", 100);
    $rect->set_attribute("height", 100);
    $rect->set_attribute("style", "stroke:#0000ff;" .
                                  "fill:#0000ff;" .
                                  "fill-opacity:0.5");

    header('Content-type: image/svg+xml');
    echo $doc->dump_mem();
?>

The code may seem verbose for the simple example that we're doing here. But, I assure you, learning the XML APIs now will save you plenty of time when your documents start getting bigger. There is quite a bit of boilerplate code that will seem tiny on larger examples.

The first thing that the code does is create the base document and create the root node. This starts our SVG document off right having only one root node, which is a requirement for an XML file. Also, the height and width of the document are specified along with the name space for SVG. The name space is required if you want your SVG document to work in Firefox (my thoughts on that).

The next section of the code deals with creating the rectangle itself. The node is allocated in the document, and tied onto the root node. If your document was larger including groups and other structures you wouldn't necessarily want to attach it to the root node, but this document is simple. We can then add various attributes to the rectangle including its position at (10,10) and its height and width. SVG works on a coordinate system where (0,0) is the upper left hand corner. So putting the rectangle at (10,10) moves it to the right 10, and down 10. Thus the 100x100 rectangle is placed in the middle of our 120x120 image.

The next few lines define the style of the rectangle. This is all done in CSS, though it introduces some operators that you might not be familiar with. Here were just setting the stroke and fill, but there is much more you can do. You can also define object's properties on a per document basis using stylesheets like you do with a webpage. This gives the designer even more flexibility to change his designs dynamically.

Lastly, some clean up stuff. We set the MIME type of the file to be SVG. It is important to note the "svg+xml", many people get confused and do "svg-xml" which is incorrect. Then the document that we created gets dumped to standard output and sent to the web browser.

Cool, now what? There is a lot of information on creating SVG on the Internet. Here is a more complex tutorial which makes a pie chart with PHP. Also, there are a few tutorials on creating SVG user interfaces that can help you with complex SVG. Of course, there is also the specification if you're having some sleepless nights.

posted on Tue, 04 Oct 2005 at 02:42 | permanent link | 0 Comments

SVG Excitement

With the new Firefox including SVG support, undoubtedly new people are going to start looking at SVG, perhaps for the first time. Is SVG ready? I sure hope so. But, what I'm afraid of is that there are no quick tutorials or easy information on building SVG files yourself. Some quickies, the fast references that come up in Google when you're curious about a new technology. Anyway, for my part I'm going to try and create a few of these. I hope that others will follow suit, so there is a collection of good 'getting started' type documentation. I hope to get people excited about SVG!

posted on Tue, 04 Oct 2005 at 02:41 | permanent link | 0 Comments

Jordan and Debbie's Wedding

I finally finished copy editing the pictures from my friends Jordan and Debbie's wedding. Yes, I do realize the wedding was in May of 2004. I know what you're thinking; and I think you're lazy too!

The Bride       The Groom

I also added some miscellaneous pictures. Some flowers and some moving pix.

Flower picture       Cat hiding

posted on Mon, 03 Oct 2005 at 02:19 | permanent link | 0 Comments