Sun Campus Ambassador @ University of Southern California Christopher Leung

Friday May 30, 2008

It's been an amazing five months.  I've led tech demos on SunSPOT, the Sun Academic Initiative, and ZFS to over 140 students at USC.  I launched the USC Java User Group which is now bustling with over 160 members (as of this post).  I've connected members of the USC community with new knowledge and job opportunities around Sun technologies, and I've connected members of Sun's community with the student community at USC (via Semester Project).

The Campus Ambassadorship was a great experience.  What I got: pay for five hours a week, all the training in Sun technologies that I desired, a chance to work on my presentation skills, an invitation at the end of the program to join Sun in a full-time capacity, and perhaps the most unexpected: a huge appreciation for everything Sun is doing.  I'm a huge fan of Java and have been for some time, but 6 months ago I knew nearly nothing about Solaris and ZFS.  I have come out as a fan appreciation of these technologies, and I realize that this is just the beginning.  The amount of open source that Sun has available is simply mind-boggling.  And the fact that much of Sun open source is practically enterprise-grade&mdashwell, not much more can be said!  All there is to do is to go, grab it, use it, learn from it, and appreciate it.  Sun is literally putting millions of dollars into your hands for free.  By the way—as I'm writing this, I'm not on Sun's payroll, so I have nothing to gain by preaching praise for Sun.  But I, and you, have much to gain by exploring the work that Sun's engineers have poured blood, sweat, and tears into.

As some of you might know, aside from being a Sun Campus Ambassador, I was also completing my Masters of Science in Computer Science at USC, held a Software Engineering position at NASA Jet Propulsion Laboratory, and was the Executive Director of Project:Possibility.  I must admit that I am writing this post a bit hastily, as I am currently working full time on Phoenix operations.  I developed a piece of software called the "Image Products Release Website" (IPRW) which manages the release of digital media for the Phoenix mission—and it will also be used for the Mars Reconnaissance Orbiter, and hopefully many other missions at JPL.

This may be the last post I make to this blog, so I'd like to end with saying: Thank you, Sun Microsystems, for this great experience.  Thank you to Ramesh Govindan, current Chair of the Computer Science Department at USC, for informing me and recommending me for this position, and thank you to the entire USC community for your support and interest this past semester.  This program, and my role, would be pointless and fruitless if the communities at Sun and USC felt this was an important, worthwhile, and interesting initiative, so I acknowledge you all for your support and involvement this past five months.

If you would like to keep in touch with me, please look out for updated information at christopherleung.com, soon to be my new home on the web.

I leave you with a picture of myself with some of the USC Java User Group leaders in front of Tommy Trojan in the heart of USC Campus.  Go Trojans!

Friday Apr 25, 2008

ZFS Tech Demo 1

As my final tech demo of the year, I demonstrated ZFS (zettabyte file system: name now deprecated), the "world's most advanced file system" by Sun Microsystems.  Out of many possible topics that I could have given a tech demo on as a Sun Campus Ambassador, I chose ZFS because for years (even before I had cared at all about file systems) I had been hearing about how "amazing" ZFS is.

And after having had the experience reformatting my hard drive, using external hard drives, reinstalling multiple operating systems, needing to install a new operating system in parallel with my current operating system, finding that operating systems like using different types of file systems, and that certain file systems have very annoying limitations, ZFS started to sound very interesting.  I had to at least find out what it is.

In the process, I discovered Solaris; specifically, Solaris Express Developer's Edition (SXDE for short).  ZFS was created to be the be-all-end-all filesystem, but also originally as a proprietary software offered exclusively by Sun Microsystems as part of the Solaris operating system.  Now, Sun Microsystems has completely open sourced the ZFS code, along with a majority of the Solaris operating system core code.

Solaris Screen Shot 

I fell in love with both Solaris and ZFS.  It took me longer to download Solaris than it did to get it "installed", booted up, and running on VMWare on my OS X machine; Sun offers a disk image for your MacBook Pro that is ready to go with the latest version of VMWare, all set up, installed, and ready to go.  (Pictured above.)

Believe it or not, to get ZFS up and running, was even less effort.  With a few simple commands, you can build a RAID-Z from a "pool" of "volumes".  The best way to think about ZFS is like thinking about RAM.  When you install a piece of ram into your computer, you now have an addition to a "pool" of memory which applications can store information temporarily.  It makes your computer faster and better.  You don't have to worry about "partitioning" the RAM, or how much memory you can store on an indiviual RAM stick.  It goes into a "pool" of memory.  If you had 2 GB, and you install another 2 GB stick of memory, you now have 4 GB of memory.  Done.

ZFS works in a similar way.  Storage space is no longer limited by the size of a single hard drive.  You can "pool" multiple hard drives into one file system.  You can create a RAID-Z from several volumes, and then add the RAID-Z to the pool.  Long story short, if you have four 30GB hard drives in your sytem, you can "pool" them into a single file system that is 120 GB in size.  If you have a 1GB USB stick, you can even pool that into the file system.  Old barries simply don't exist anymore.   Storage works the way it should.

Me speaking at ZFS demo 

Other noteworthy features:

  • "All or nothing write" a.k.a. "transactional file system": Your file is written, and its data is in integrity, or not.  There is no in between.
  • "Predictive self-healing": Long story short, your file system fixes itself if it encounters errors.  There's no need to run "scan disk"; if there's a problem, it's taken care of on the fly.
  • Easy quotas: Want to set a limit (or a minimum) amount of space a user has control of?  One command will do it.
  • Safe delete: Files can be REALLY deleted -- as in, normal deletion of files means that the file entry is removed from a table of contents.  This is similar to deleting an entry in the index of a book, so that you will never be able to find it again.  But if someone actually took the time to read the book without the index, they would still be able to find the information -- this is the same for hard drives.  Even though you think you deleted something, it is likely still there, and if someone stole your hard drive and wanted to recover the information, they probably could.  ZFS allows you to actually delete the information where it was stored, as well.
  • Incremental Backups or "Snap Shots": Back up your file system in one command.  Back it up again tomorrow in one command, but only saving the differences between yesterday's and today's file system.  This means you save a huge amount of space, only storing the differences between backups.
  • 128-bit File System: Long story short, this basically means that you can never run out of space.  There is enough "address space" to catalog every star in the universe and then some, with a 128-bit file system.  Yes, the universe.
  • Compression: Activate compression in one command.  Hard drives are still limited by the speed in which the platter turns, while CPU speed is increasing exponentially.  Now, we can use the extra CPU power to reduce the amount of data that is written to a hard drive, effectively greatly increasing our data throughput.
This is just a taste of the presentation -- if you can't tell, I'm very excited about ZFS and this was a very fun presentation to give.  We had a great response; 30 people attended and stayed until the end.  Several of us stayed for an hour afterwards to chat about how awesome ZFS is!

This was my last "official" Campus Ambassador tech demo of the year, though this week, I have the Semester Project: Final Review event--a program I organized that is sponsored by Sun Microsystems.  It's been an amazing semester with Sun Microsystems, and I'm sad to see it coming to an end... I'm sure I will wrap up this blog with a few final thoughts on my experiences as a Campus Ambassador.  Stay tuned.

Monday Apr 21, 2008

Pictures of USC JUG Users

We had over 80 University of Southern California students at the USC Java User Group launch on April 17th, 2008!  Coming in the door, each person got some Papa John's pizza, a JUG Launch Agenda, and information about how to get signed up on Sun Learning Connection.

I kicked off the meeting asking some fun trivia questions around Sun and Java:

  • What does Sun stand for?
  • What does Java stand for?
  • Sun completely dropped the “2” in “J2SE” by Java Version X.X?
  • Java core is Open Source, TRUE or FALSE?
  • Who/what is the Java mascot?
  • Who/what is the JUG mascot?

See if you can answer these.  :) One of these is a trick question.  People who were able to answer correctly got a prize, which kept things exciting.  I then went on to discuss the mission and goals of the USC Java User Group, future plans, and of course, our home on the web (feel free to visit and get signed up on our "members" discussion list).  Our discussion list is our main point of contact for the group.

I also covered:

Before I closed the meeting, I let everyone know that we need a few people to help lead the JUG.  (I'm very pleased that two people have come back to me since and are very exciting about expanding the JUG.)  I then closed the meeting and had everyone grab a freebie.  Each person had an agenda onto which we embedded a number, which determined in which order they could grab a freebie.

Picture of Sun Swag

It was a fun demo and we now have over 100 people signed up on our email list!  We have a very wide range of interests in this group.  I would say there are three main groups represented:

  • Beginners looking to learn more about Java
  • Java experts looking for cool projects to work on
  • Students looking for career opportunities in Java/at Sun Microsystems

Many thanks to the Campus Ambassador program and the JUG community for their support of this user group launch.  We are excited about the year ahead, and already have a couple new leaders stepping up to plate!

For more pictures from this demo, visit the Facebook album.

Friday Apr 11, 2008

Thanks to Sun JUG Program Coordinator Aaron Houston, I have a boatload of JUG freebies in hand for a planned Java User Group launch this week at the University of Southern California (USC).

My primary responsibility as a Campus Ambassador is to promote Sun Open Source technologies on USC campus. This technology is free, it's good, so use it (is my philosophy).  Not to mention, I'm an open source fanatic.  To the point where I believe that every line of code written in private is one that could have benefitted millions of others... which might sound a bit extreme, but I generally believe open source is an extremely powerful way empower humanity—to add to the world's shared domain of knowledge.

Getting back on track... one of the things I'm tasked to investigate is the existence of an open source user group on campus.  I've had the pleasure of working with great student organizations on USC Campus, such as the Engineering Graduate Student Association, USC ACM Chapter, and USC Upsilon Pi Epsilon Chapter.  They are each doing great work and have held several open source events this past year.  However, there is no single group dedicated to year-round open source software development and support. 

Sun gives strong support for various breeds of user groups that utilize its open source technology.  Open Solaris User Groups are one.  Java User Groups are another.

Given the strength of Sun's backing, my passion for Java, and the growing prevalence of Java in our curriculum at USC, the commercial software industry, and the open source community as a whole, I thought it was appropriate to launch a Java User Group at USC.

The next step was to find a space to host the Java User Group—a discussion list and web space are the two most critical tools in such a thing.  After dabbling around at USC without much luck, I was happy to find out that Java.net supports a space for JUGs, and I jumped on it.  After joining the community, I met Aaron Houston and also got introduced to Abdel Remani of the Chico Java User Group via email list.

Aaron generously offered Java User Group swag (pictured above) for the launch of the Java User group.  I'm confident this will get people excited about the user group and about connecting with other people who have interest in Java!  Also, I'm excited to have Abdel Remani's guidance as well; it will be great to have another University JUG as a model and inspiration for our own.

Our first meeting is scheduled tentatively for April 17th (this Thursday).  Stay tuned for the results!

 

Tuesday Mar 25, 2008

 Project:Possibility Semester Project PDF 

It's hard to believe it's been two weeks since the Semester Project Preliminary Design Review (pictured above).  This meeting is exactly what it was titled--a checkpoint review of the preliminary design of each software project that Semester Project teams are taking on this semester at USC.

This program, which (I am proud to mention) is sponsored by the Sun Microsystems Campus Ambassador Program as well as the Sun Microsystems SunSPOT Project, consists of 25 students divided into 5 teams, taking on 5 projects, led by 5 software developers (one from Google, two from Amgen, and two from NASA Jet Propulsion Laboratory).  "5" also happens to be my favorite number.

The goal?  Spend 12 weeks developing empowering open source software for disabled persons, following a software development process inspired by the aerospace industry (if that makes you grumble, not to worry--we're likely to try a different development process the next time around).

The software projects we're taking on:

  • Assistive Technology Search Engine - Search engine solely for locating enabling technology for disabled persons
  • Mobile Currency Reader - Have your cell phone tell you how much your money is worth
  • SunSPOT Framework and Language for Action Recognition - Put simply, use SunSPOTs to control everything around you :)
  • Web Captioning System - An easy way to add subtitles to any video, anywhere, accessible by anyone
  • Word Prediction - An intelligent service that predicts words based on context (n-grams)

Of absolutely no coincidence, the SunSPOT team, led by David Woollard, is doing an amazing job on their project and were awarded two of the four prize categories during this meeting (best overall performance during this phase, and best wiki).  Web captioning picked up the "most enthusiastic" award, and Assistive Technology Search picked up an award for "most improved".

SunSPOT Team
Me and the SunFLARE Team: David Woollard (Lead), Sean Bachelder, Irina Abramova, Winnie Yip, and Praveen Kansara.  Not pictured: Nikhilesh Kruthiventi.  Jacquelyn Leong, the Semester Project Manager, can be seen smiling in the background :)

A brief description of the SunFLARE project: "Our project concept is to use the wireless capabilities and accelerometers of the SunSPOT platform to record and recognize human gestures for command and control applications. Users with limited mobility often have difficulty using traditional computer input devices such as keyboards and mice. Our gesture recognition framework, which we call the SunSPOT Framework and Language for Action Recognition, or SunFLARE, will allow users to dynamically capture movements that they are capable of making (tailoring to a number of physical disabilities) and associate these movements with actions."

I'm sure many of you are itching to find out more about this project--especially you SunSPOT fans--and after the completion of the Semester Project, we will be sure to make available all of the dirty details of their work off Java.net and the Project:Possibility website.  For now, keep yourself busy at David Simmons's blog, who can be thanked along with Arshon Poursohi, for getting us several of these SunSPOTs in the first place. :-)

I should also mention (and thank) an impressive board of reviewers we had present at this meeting to give feedback to each of the student teams.

  • Marc Allen, NASA Jet Propulsion Laboratory
  • Charles Sanglimsuwan, USC/Microsoft
  • Murali Annavaram, USC Professor
  • Avinash Sridharan, USC Ph.D Candidate
  • Jinbo Chen, Northrop Grumman
  • Richard French, NASA Jet Propulsion Laboratory
Semester Project Review Board 

On April 2nd, we will be holding a Critical Design Review, which will be the last review before the Product Readiness Review on April 30th, which is the final meeting of the Semester Project where we award all of the participants for their hard work during the semester.  If you are in the Los Angeles area, you are welcome to drop by and join us for any of these events! (Contact me for details.)

For more pictures from the Semester Project, check out the Picasa Album here.

Friday Mar 21, 2008

Last week, I was lucky enough to attend the 2008 CSUN Technology & Persons with Disabilities Conference thanks to Frank Hecker of the Mozilla Foundation.  This conference is "the longest-running and largest annual university sponsored conference on technology and persons with disabilities."  It very may be one of the largest conferences of this sort, period, as it filled multiple ballrooms in two hotels near the Los Angeles International Airport.

My main duty was as a representative of Project:Possibility, promoting accessibility features in the Firefox 3 browser that make it the most advanced and accessible browser on the planet (and that is fact!).

While not on booth duty, I attended a handful of informative sessions on the most cutting edge technology/topics on a11y (Orca, IAccessible2Google AxsJAX to name a few), and had the incredible pleasure of meeting up with Willie Walker and Evan Yan of Sun Microsystems.

 

Willie Walker, Christopher Leung, and Evan Yan at the CSUN Center on Disabilities Conference

Willie Walker is the lead of the Orca project, and Evan Yan works part time on Firefox accessibility.  In other words, these gentlemen have two of the coolest jobs on the planet—funded by Sun Microsystems and Mozilla to develop powerful open source software that helps people.

Speaking of coolest jobs on the planet, the people I spent the majority of my time with can also claim this fame.  Pictured below from left to right, James Teh and Michael Curran of the NVDA Project, Frank Hecker of the Mozilla Foundation, yours truly (me), Steve Lee of Fullmeasure, Marco Zehe of Mozilla Corporation, and Eitan Issacson of Ascender, all whose careers are based in the open source arena.

Mozilla Booth team at the CSUN 2008 Conference on Disabilities

I was able to attend this conference one year ago as a visitor.  It was quite an experience being able to sit on the other side of the booth this year and be responsible for sharing amazing assistive technology with both enabled and disabled persons.  I can say with certainty that (1) talking about technology is easier than creating it (massive credit due to the engineers who poured blood, sweat, and tears into Firefox so that I could share it with people in the first place) and (2) Firefox's reputation precedes itself—the words "Mozilla Firefox" seem to naturally brighten people's day.

I am humbled to be associated with both Mozilla and Sun as the work these companies are funding is incredible—cutting edge open source software that empowers people.

One of my personal commitments is to see it that software developers contribute their skills towards similar causes.  Software developers really are super-heroes—and I don't say that out of narcissism or self-infatuation!  The ability to create technology that empowers others with one's own finger tips, is truly a super-power.  I hope that more software developers realize their super-powers, and step up to help make the world a better place. :-)

Monday Feb 25, 2008

Audience of the Spring 2008 Semester Project Kickoff Meeting

Aside from my work as a Campus Ambassador, I'm also the chair of a non-profit organization, Project:Possibility. Due to great fortune, I have been able to combine my role as a Campus Ambassador with my work in the field of assistive technology to provide a very unique experience for USC students.

That said, I'm pleased to announce that a program I've organized in collaboration with Project:Possibility--the Semester Project--is off to a promising start as of the kick-off meeting on February 13, 2008!

From the Semester Project home page: "The Semester Project is an opportunity for university students and industry professionals to team up over a course of a semester and develop open source software projects for the disabled."

We have five volunteers from Google, Amgen, and NASA Jet Propulsion Laboratory leading five student teams of five developers (five is also my favorite number). For my Sun colleagues and Sun fans: one team will be developing assistive technology using SunSPOTs!

We were lucky to get a handful of SunSPOTs for these teams to use. In addition to the SunSPOT that I was given as a campus ambassador, Arshan Poursohi and his team at Sun have generously donated three SunSPOTs to Project:Possibility for use specifically for the Semester Project. Additionally, Bhaskar Krishnamachair of the Autonomous Networks Research Group at USC has lent a few SunSPOTs for use in this program as well.

As part of this kick-off meeting, I gave a demo on the SunSPOTs. For those of you who want the nitty-gritty details, I started the demo off by showing the bounce demo (if you don't know what this is, check out a demo on YouTube at about 1:10). I asked an audience member to join me up front to play with one of the SunSPOTs and take a guess as to how it was all happening. When he couldn't figure it out, someone in the audience answered "accelerometer" correctly. After going through the slideset, I showed off an augmented version of a demo program that comes with the SunSPOT--I have added a 3D cube in Java3D that responds to accelerometer movements..

Accelerometer Demo Screen Shot

We had over 30 participants, and I'm sure a lot of them wished they could be on the SunSPOT team this semester. Maybe for the next semester project, we'll have enough to go around :)

Thursday Jan 31, 2008

Since there are many basic things that needed to be done at the start of my ambassadorship (a learning/training plan is clearly laid out), I thought I would recount my progress in the last month so that I can keep track of what I have and have not done. Some things are not so clearly laid out, like connecting with the student community at USC and the process of organizing tech talks.

Registered for: Downloaded and installed Attended training for
  • New Employees
  • Campus Ambassadors (Live training)
  • Sun time card system
  • SunSPOT: Small, Programmable Object Technology (Live training)
Connected to and begun planning tech talks/events with Met with individuals
  • Tom Light, my account manager (three meetings)
  • Brian Lee, CA at UCLA (via email)
  • Mark McDuff, potential CA at CalTech (via email)
  • Ishwar Parulkar, Sun Engineer on Advisory Board for USC Viterbi EE Deparment (via email)
And last but definitely not least...
  • Made significant progress on the Curriculum survey
  • Was forced to take a paid vacation over Winter break :P

The curriculum survey is a survey of the Computer Science curriculum at which is meant to take stock which Java technologies are being used in which courses. It is quite time consuming and requires a lot of digging.. however, I only need to do it once to get a feel where things are at in the curriculum and set a baseline. There really is no other way to gauge the amount use of Sun open source technology in the curriculum at USC.

Whew.. that was a mouthful. Still more to do. Stay tuned. :)

Friday Jan 18, 2008

Hello to whoever is out there reading this! I am the new Sun Campus Ambassador for the University of Southern California! I started this position about one month ago, just as the fall semester was ending. I plan to use this blog to track my activities as a Campus Ambassador, and to give you an idea of what is going on at the University of Southern California in relation to Sun Microsystems! I hope you enjoy this blog!