Tuesday, October 4, 2005

Mentalists need not apply

Satish Moorthy from Penn has recommended a great article by Karl Weigers, titled, "When telepathy won't do: Requirements engineering key practices."  You can access it here.  Although written specifically for folks using Object Oriented methodology, any project can benefit from it.  As an added bonus, Karl mentions some of the more popular requirements management tools.  Definitely worth a read.



Since Barry Boehm has remarked that as much as 40% of the requirements of the final product go unstated in the requirements specification, the more wisdom on this topic the better.  Thanks Satish.



Hopefully October will be a more active month for this blog than September, actually it already is since one is better than none!  I have a fairly large queue of potential entries and hope to make progress on the backlog this month so stay tuned.  Later.



Thursday, August 25, 2005

Pro T folding

The title of this post was meant to have you think about Protein folding, but actually refers to T shirt folding.  I thought it was worthwhile bringing it to your attention, (1) because it is very cool, (2) if you do it, it will save you time, (3) it is a very effective instructional video and  (4) it was posted on Pavel Curtis's blog and Pavel is a legend in software.  You can  read Pavel's  T shirt blog entry with ya link to the relevant video, here.  (If you have difficulty accessing it, send me mail.)



Here's a bio of Pavel I scarfed from this MIT website,


Dr. Pavel Curtis received his bachelor's degree from Antioch College in 1981 and his
master's and doctorate degrees from Cornell University in 1983 and 1990, respectively.
Since 1983, he has been a member of the research community at the Xerox Palo Alto
Research Center, where he has worked on aspects of the Smalltalk-80, Interlisp-D/Xerox
Lisp, and Cedar programming environments and other projects related to the design and
implementation of programming languages. He led the SchemeXerox project, which
explored large-scale software development in the Scheme programming
language.



Dr. Curtis is the founder and chief administrator of LambdaMOO, one of the most popular
recreational social virtual realities on the Internet. Since 1992, as co-leader of the Network
Places project, he has been working on bringing the benefits of network places to a broader
range of users and applications.

I will discuss some of the topics including MOOs in a later post.  Pavel is a legend in software and (good) hacking circles.  His work (along with others of course) with Interlisp, Cedar, Smalltalk and Scheme formed the basis for how we develop today.  He is a luminary of computer science well worth knowing.



Since my title alluded also to protein folding, a bit about that reference.  My personal iMac at home (melmac, a G5 2 gig beauty) when not dealing with me, happily runs protein folding, climate prediction and SETIBOINC, software from UC Berkeley manages these apps and it is a great experiment in GRID computing and a way to donate cycles to your favorite scientific research.



However, if you are not interested in delving into any of these topics, please at least view the  t-shirt folding video.  It is fascinating and, for the laundry folders, could give you more time to enjoy these last days of summer.  Later!



Tuesday, August 23, 2005

Slideways

The title is actually a takeoff on the recent movie Sideways.  I liked it because it was a decent movie, featured Saabs, has great scenery and inspired me to investigate pinot noir



Enough digression, what the title Slideways refers to is my tendency to provide a ton of viewgraphs for my classes.  I rarely go through the bulk of them in class, but I do feel providing a comprehensive set is important since it can provide a quick, topic based resource when work or research insists that you dive deeper into a topic.  They also are accessible, since I provide electronic copies during the semester and have them available at my homepage (except between semesters when I am doing site cleaning, but you can always email me and ask).



During the classes, students are not always convinced, as they have to wait for the slides to be printed and lug them to class or wade through them when studying for a test (then again they provide decent summaries of the readings, useful as a study aide).  However my main purpose was to provide a resource that lasts longer than the class.



What inspired this post was an email from yet another student who actually found that there was life for the slides past class. In his case it was investigating software metrics.  I use them for my work too and initially that is what motivated me to obsessively provide them for you and start the web page on the external internet so that they would be available to you.   I would appreciate feedback from anyone else who has found the slides, the site or the blog useful



So as this semester begins and you yawn as the printer churns out a seemingly endless stream of slides, know in some not to distant future it may save you time, so that you can spend time with your family, watch a movie, take a ride in the country with the top down, enjoy some pinot noir or your-choice-here.  Later!



Sunday, August 7, 2005

Emotional Talk

I attended AAAI last month and was on vacation so that is my excuse for zero posts last month.  A few of my posts in August will discuss the conference.  This is the first of them and it is a discussion of Marvin Minsky's keynote address.



There were two main themes of his address one was a discussion of his upcoming book, The Emotion Machine, hence the title of this blog entry.  You can find the first eight chapters of the new book by going to his main web site.  He also recommends reading Push Singh's Ph.D. thesis which can be found on Push's web page here.  I will provide some commentary on both of these over the next few months, but wanted to provide you with the references immediately,



The second theme, related to the first was that AI needs to be refocused.  He said that recently AI has gotten Physics Envy, trying to find general methods, but yet most of the programmtic successses in AI, according to Minsky, have more to do with Moore's law (computers became more powerful and could search more) than with advances in AI.   The talk was great, for example, he declared that in AI and psychology Occam's razor is the wrong idea; you are describing a complex system and it is not simple!
To quote from chapter 1 of The Emotion Machine:


So this book will embark on the opposite quest: to find more complex ways to
depict mental events that seem simple at first!

As I said, more discussion on Minsky's ideas will be forthcoming as I read the book.  Just wanted to provide you with more possibilities  to read as you hopefully take to the beaches in August.  Check back, as the Fall term starts getting together I should be posting more frequently -- and catch up posting some of my student's blog entries.   Later!



Thursday, June 30, 2005

Having an Impact

If you cannot ascertain from the name of this blog, I will tell you that in addition to computer science and psychology I am interested in space exploration, astronomy and climatology.   On July 4th NASA is attempting to crash part of a space probe into the comet Tempel 1, with the main craft recording the event.  If all goes well the craft will be placed on an extended mission with its next probable target the comet Boethin. It will take 3.5 years to get there.  So even if you read this after July 4th  2005, there is still more to explore with this probe.



A frequent contributor to this blog and former student, Greg Horvath works at JPL on this project and sent me this heads up a few days ago.  I wanted to share Greg's logbook entry with you.  The text was provided by Greg with some minor edits from me.  Actually there was more interesting stuff on testing in his entire email, but I will save that for another post.  Later!



So, on to the fun stuff:



- We release the impactor Saturday evening, 7/2, at 11pm PDT (2am 7/3, Sunday morning EDT).
- Assuming all goes well, the impactor will arrive at the comet at 10:52pm PDT on Sunday night (1:52am EDT Monday 7/4).



In addition to the instruments on-board the spacecraft, we will have a number of other on-orbit telescopes taking both visible and spectral images (Hubble, Chandra, Spitzer f/k/a SIRTF) as well as many ground observatories including Keck, Palomar, and the SMA.  There will be plenty of gooey data to check out if this goes off as planned.



Our mission website has a schedule of programming
http://deepimpact.jpl.nasa.gov
As of right now, the schedule is:
----------------------------------------------------
Deep Impact Press Encounter Events - Jul. 1 - 4
(All times PDT.)



    * Pre-impact briefing: July 1, 10 a.m.
    * Pre-impact update: July 3, 11 a.m.
    * NASA TV coverage: July 3, 8:30 p.m.
    * Expected time of impact: July 3, 10:52 p.m.
    * Post-impact briefing: July 4, 1 a.m.
    * Post-impact press conference: July 4, 11 a.m.



Also, there is some animation and a few videos over at http://jpl.nasa.gov.  Click on 'Night of the Comet', and it will launch a little flash player.  (In fact if you click the picture of the woman under the 'Videos' tab of the flash player, you can see me near the beginning of the clip being a big dork.)



As I've mentioned, we will be on NASA TV, which you can stream online at http://www.nasa.gov/multimedia/nasatv/  (see times above).  I'll be on-console for impact so if you tune in you may see me pointing to a blue screen and doing other amusing geeky stuff.



Other good sources of info are:
http://space.com
http://spaceflightnow.com
(This site usually has good real-time info updated during critical mission events).  Also, our mission webpage http://deepimpact.jpl.nasa.gov will be updated in near real time during encounter, including images as they come down.





Lastly if you're in the SoCal area, the Planetary Society will be holding an event with real-time data streaming in and running commentary.  More info here:
http://planetary.org/cometbash.html
It's in Glendora, and entry is $20.  There will be some guest speakers as well.



Thursday, June 16, 2005

Once upon a time ...

It is easy to be cynical in this age of outsourcing, impossible schedules and managers who think the only valid motivational technique is fear.  It is hard to remember the sense of wonder of software and computers that initially lured us into this field.  In working on Research for another task I came across an article by Allen Newell, "Fairy Tales," AI Magazine, WInter 1992. Note that you have to find the article in the table of contents, the first click on the title provides the abstract and clicking on the title within the abstract provides the article. It is a short, 3 page article and I highly recommend it to give yourself a boost and get back to viewing the big picture of why you do what you do.



The article discusses computer science and the promise it provides.  Rather than summarize it, I urge you to read it.



A bit on Allen Newell.  Allen, along with Herb Simon, Marvin Minsky and John McCarthy are known as the Fathers of AI in the United States. He was a great guy and had a great sense of humor.   He also was very direct and got right to the point.   For my Human Computer Interaction courses I have a clip of him struggling with a photocopier.  His personalty shows through perfectly. He died over a decade ago but the ripples he started will continue for a long time.



To close this off I would like to quote the last sentence of his article:

Finally, I wish to express my feeling of childlike wonder that my time to be awake on this earth has placed me in the middle of this particular fairy story.

Later.



Friday, June 10, 2005

Tomtoolery

The title of this post is a takeoff on the word tomfoolery which means foolish or senseless behavior.  One of the discussion topics for my Software Engineering course concerned building and using your own tools.  One of the students in the discussion, Chris Slater, offered this insight:



I am fairly new to the industry, so I have not developed a set of tools that I carry around.  However, at my new job, I have begun to develop these tools.  The funny thing about this is I created these tools in hopes of standardizing the tool set for our new project; however, once the other developers got a hold of these tools they either: (a) threw them away, or (b) rewrote them to fit their personal preference.

I then asked the class:

Did you ever ask  why they tossed or modified the tools?  This is a common experience and it would be nice to understand the, "not invented by me syndrome."  Is it lack of documentation?  Lack of Support?



I do notice that the use of tools, and reuse in general, follows an inverse square law of distance between parties.  It is much more likely that I will use tools or code from someone in an office nearby.  The probability drops off quickly the greater the distance. 

The only time I saw this not happening was during the mid years of UNIX (1970s-80s) and that was a factor (I think) of excellent documentation, UNIX manual pages, and a strong culture.



I did not expect anyone to respond, but Chris did (this is a paraphrase, it was longer):

Now, I also did some asking around and from what I can tell the two most prevalent reasons why tools such as mine get rewritten are ego or poor documentation.  I have to tell you the latter is one of the bigger problems I see.

What do you think is the reason for not using others tools?  Is it my distance inverse square law of reuse?  Is it poor documentation?  Is it ego?  Is it another reason?  I would appreciate your insight into this tomtoolery.



Thanks and later!