08 June 2005

It's easy, just a recompile right?

After some time to digest the news about Macs with Intel Inside, I've observed something that makes me worry. Not worry about the transition, but about some developer's view on software testing. First from Will Shipley the long time NeXT developer at Omni Group and now cofounder of Delicious Monster. Speaking of his work at Omni when NeXT moved from the Motorola 68K CPU to the Intel processor, he says:

My then-company ported all of our apps to run on Nextstep for Intel Processors in a couple days. I think OmniWeb took the longest; if I recall the others pretty much recompiled and ran.
Then he talks about his experience working on the Mac Intel prototypes at WWDC as follows:
It turns out all Apple has ready now are prototype machines, which are in plentiful supply here at WWDC. So, we went into their lab, opened up our source code for Delicious Library, clicked on the "compile for 10.4 only" option, and compiled our program for Intel processors. And it ran. It looked great to us. So, to sum up: no source code changes. We clicked, it compiled, it ran. The program we built will now run on both PowerPC and Intel machines.
(emphasis mine) Then there's James Duncan Davidson that regularly writes tech articles for apple who wrote:
And, when you see an app recompile on the new machine and run just fine—or even when you see one and see issues, but know that it's just a matter of cleaning up some bits and bobs—well, it's not a scary proposition anymore. What's left to do is straight forward coding. There's nothing that requires massive, or even minor, changes to the design an application. It's just making sure that the code doesn't make any assumptions it shouldn't.
(emphasis mine) Compare that with the more measured response from Rich Schaut, a long time Developer of Mac Word at Microsoft, he explains:
For a more concrete example, Apple have produced documentation for developers who use PowerPlant. PowerPlant uses various resources to describe the UI objects that are created--windows, menus, dialog boxes, etc. Reading these resources correctly in the context of a universal binary will be crucial. They've included some sample code to flip bytes in PowerPlant resources. It's more than 780 lines of code--780 lines of tedious, byte flipping code. [...] No. The PowerPlant resource example isn't extreme. It's just a common, specific example for which Apple have been kind enough to provide a solution. Anyone shipping serious applications that have not already had to solve this problem for cross-platform scenarios has quite a bit of tedious work to do. While I've welcomed this change for my own circumstances, I don't envy the position in which a number of my compatriots down in San Jose find themselves.
Maybe it's my perspective as a full-time software tester (more about that in another post) and I might be missing the light here, but Universal Binaries just doubled the amount of testing I need to do to verify, as Will put it, that the "code doesn't make any assumptions it shouldn't." This is simply a non-trivial task. Sure, I've been around a while and maybe I'm jaded, but when someone says to me, "Hey, I clicked the check box, it compiled and booted, looks good!" I get all sorts of bad feelings about what hideous bugs are lurking inside. Software testing is perhaps one of the most difficult disciplines in the software industry and good testing costs. It costs time and money. Thanks to a new CPU, a new complier for Intel and a new run time translator for PowerPC applications on an Intel box, Apple has single handedly increased the cost to test a Mac software product by at least twice if not three times. That, my friends, is not a good thing. Let me hasten to add that, elegant romantics aside, I think this is a good move, but for a software developer and especially as a software tester, it's going to cost. I should mention that I think all of these developers I mention do test and work very hard to produce high quality software. But high quality software is SO much more than a compiled and launching application, and I think that aspect is being missed in the discussion.

06 June 2005

Mac OS x86 Leopard

I can't really let this day go by without saying something about the stunning change announced at Apple's World Wide Developer Conference today. I just watched the keynote presented by Steve Jobs and I don't really know what to think. The big news is as follows: 1. Apple will be transitioning to the Intel processor over then next 2 years 2. When Longhorn ships, Apple will ship Mac OS X Leopard 3. Apple has been building Mac OS X secretly on Intel since Mac OS X version 10.0! 4. They will have a binary translator named Rosetta for older PowerPC apps 5. iTunes is going to catalog podcasts on their music store with chapters and album art 6. Steve Jobs wore a black shirt, black pants, and black shoes rather than his customary jeans and mock turtle neck I don't know how this is going to effect everyone, but if it means a faster Mac and a better laptop experience, I'm all for it. I really thought it would never happen. I'm amazed.

04 June 2005

Diminished Readership

While doing Saturday chores I listened to a talk given in November 9th 2004 by Dallin H. Oaks entitled “Where Will It Lead?”. The part that got me thinking was this bit: "Second is the matter of diminished readership of newspapers and books. The circulation and readership of daily newspapers in the United States is declining significantly, even while our population is increasing. Specifically, the per capita circulation of newspapers in the U.S. in the last 30 years has declined from 300 to 190 per 1,000 population. To cite another measure, in the four years ended in 2002 the percent of those ages 25 to 34 who have read a newspaper during the past week (either in hand or on the Internet) fell by almost 10 percentage points—from more than 86 percent in 1988 to less than 77 percent by 2002 (U.S. Census Bureau, Statistical Abstract of the United States: 1989 [109th ed.], table no. 901; and Statistical Abstract of the United States: 2003 [123rd ed.], table no. 1127). The proportion of adults who read books has also declined significantly in recent years (see National Endowment for the Arts, Reading at Risk: A Survey of Literary Reading in America, Research Division Report #46, June 2004, Washington, D.C. [www.nea.gov/pub/ReadingAtRisk.pdf]; and Christina McCarroll, “New on the Endangered Species List: The Bookworm,” Christian Science Monitor, 12 July 2004, 1–3). "Why are these trends of concern? More and more people are not reading the news of the world around them or about the important issues of the day. They apparently rely on what others tell them or on the sound bites of television news, where even the most significant subjects rarely get more than 60 seconds. Where will this lead? It is leading us to a less concerned, less thoughtful, and less informed citizenry, and that results in less responsive and less responsible government." I wonder, do blogs help or hinder informed citizenry? Blogs certainly level the playing field and diversify the voices out there, but do they promote a thoughtful, informed citizenry? How does the multiplicity of blogs help finding the truth? At least with large establishments, there's a finacial benefit to publishing accurate reports, but in a world filled with blogs, where is the accountability? Trusting in the masses isn't very reassureing to me.

Throw Away Your Mop!

This last Christmas season my wife surprised me buy getting me a robotic vacuum. It was one of those great moments when you get a present, that you really wanted, but didn't really know you wanted it. The geek side of me totally took over and I spent hours watching it and trying to figure out how it works. The model she got me is the Roomba Discovery and we continue to use it to this day. We probably use it more than they expected, because the flexible side flapper that cleans edges broke. I went to the web site to order the part, and was greeted with this: Sure enough, they are going to make a robot that mops your floor too! I have to admit, this is a great use of technology and if it works well, I'll probably drop the cash for it. When I got through to the customer support people they quickly ordered new parts for free, because they thought they shouldn't have worn down so quickly. Very cool. I'm impressed.

01 June 2005

Dublin to Copenhagen

I just finished a business trip in Ireland. I enjoyed the work, loved getting to know the people there and of course enjoyed exploring the town of Dublin and the country side after work. The town seems to be growing like crazy. A short drive to the country side seems to put you back in time. It's a beautiful, breath taking green. It rained most of the time we were there. Still, I could easily get used to living there. On the way home I caught a flight from Dublin to Copenhagen and then from Copenhagen home to the US of A. The first leg of the flight was a short 2 hours and I ended up sitting next to a wonderful Irish couple in their thirties or so. No children, out for a long weekend in Denmark. I don't know how it started, but it seems like almost immediately the lady was asking me about what it's like to be a Mormon and how the church works. During the course of the conversation I found out that she is both a lawyer as well as a psychologist and very well read. She is Catholic and participates a weekly study session with 2 nuns, herself and a few other friends of other faiths as far as I could tell. A she is very interested in religion and asked many very good questions. We didn't agree on everything, one rarely does when talking about religion, but on most things we did and the conversation was amicable and had a fun pace to it. Her husband certainly was nice, but didn't participate declaring with a smile, "When it comes to religion, I've been there, done that." So we continued talking just us the two of us. One of the most interesting things for me was our discussion of a pre-mortal existence. The idea the we lived before were born seemed a brand new idea to her. When we discussed the idea that before we were born, we lived with our Heavenly Parents and that "Gender is an essential characteristic of individual premortal, mortal, and eternal identity and purpose." it seemed perhaps the newest idea that had crossed her path in a very long time. We got pretty quickly to the question of the purpose of life and while she didn't share with me what she thought it was, I did with her. She did share some very interesting insights into how she thought people change and grow and was able to explain it in very sociological terms. Basically, for us to change, we need to have a input that allows us to see a contrast, and the input must come from something or someone external. This way we can make a choice. Without the input, we continue as we are and change cannot occur. I thought this was very insightful, and it reminded me of a bit of scripture: "For it must needs be, that there is an opposition in all things. If not so, my first-born in the wilderness, righteousness could not be brought to pass, neither wickedness, neither holiness nor misery, neither good nor bad. Wherefore, all things must needs be a compound in one; wherefore, if it should be one body it must needs remain as dead, having no life neither death, nor corruption nor incorruption, happiness nor misery, neither sense nor insensibility. Wherefore, it must needs have been created for a thing of naught; wherefore there would have been no purpose in the end of its creation. Wherefore, this thing must needs destroy the wisdom of God and his eternal purposes, and also the power, and the mercy, and the justice of God. ... Wherefore, the Lord God gave unto man that he should act for himself. Wherefore, man could not act for himself save it should be that he was enticed by the one or the other." We then discussed more about why we would need to come to this earth and experience life in this way. I explained how I believe that we must learn from our own experience right from wrong. And by learning to choose the right, we experience more happyness and joy. The purpose of life then is to increase our joy and happiness by becoming like our Father in Heaven. We do this as we learn to think as He thinks, do as He does, love as He loves. We both agreed that this process would take us far into the next existence and then the flight came to an end and we said our good byes. I often speak with those I meet. Everywhere in fact. I really enjoy learning about others and how they see life and what interests them. I came away from this conversation feeling like maybe I take for granted far too much of the religious truths I hold dear. It's not always too acceptable these days to speak of religion in public, at least at work, but I can't help but think that the simple truths, about God, the purpose of life, and the role of Christ in our redemption and eventual return home, simply sooth the soul and invite a reflective hue on life that ingenders change. And change, that's something we can all use.