Alta's HowTo's Complement
complement to Solaris OS developer documentation
Global Software Engineering
Last night I participated in a colleague's defense of his masters thesis on global software engineering. Gary Thompson defended his thesis, "Teaching and Assessment Methods for Practical and Global Software Engineering Education," at San Francisco State University.
Very commonly in business we work in globally distributed teams. People from all over the world communicate, resolve design disagreements, contribute to the same code base, resolve code checkin conflicts. In open projects such as OpenSolaris, project team members are not even employees of the same company.
As common as this is in business, it is very uncommon in education. Students graduate with poor knowledge and little or no experience in global project team practices. To address this gap, Gary has been co-teaching, refining, evolving a course in Global Software Engineering for the last five or six years. See my previous blog post on this topic.
One surprising discovery from these student project teams is that teams whose members were all local to SFSU tended to employ the same project management practices as teams whose members were separated by eight time zones. All teams used tools such as email, IM, and Skype approximately the same amount. Teams whose members were all local did not necessarily meet face-to-face very often.
At the end there was time for questions from the audience. I said, if you have a project that will live longer than a semester, you must document how and why particular design decisions were reached. In Solaris and OpenSolaris, we have an architectural review process to archive documentation of these decisions. I was assured that when the students updated their specifications, they documented why the changes were made.
Another person asked whether there were any language problems in the global teams. Gary said there were some problems with the team in Germany: The professor in Germany reported that his team had trouble understanding the English of the SFSU students! Many of the SFSU students were not native English speakers. Again, the situation mirrors what you find in the business world. People who work in a particular location are not necessarily native to that location.
A very interesting and educational evening. I hope this type of program spreads to more schools.
Posted at 12:17PM Feb 25, 2009 by alta in General | Comments[0]
Arduino Night 2
Last night was Arduino Night 2 at the Silicon Valley OpenSolaris User Group meeting.
John Weeks brought his robot, Marvin, right, which is based on an iRobot/Roomba vacuum with an arduino on it. Marvin has a motion detector connected to the arduino, which in turn can signal the Roomba. OpenSolaris is running on a small Intel based motherboard with an Atom processor. The motherboard gets 12v of power from the iRobot/Roomba (white cord on the left of the photo).
Marvin's mouth is an infrared sensor. When the infrared sensor detects something in front of it, the eyelids (the red Lego truck cab parts) open, and the sonar eyes detect how far away the blockage is. [Note that the Roomba is still a fully functional vacuum:)]
We discussed how to turn this robot into a larger community project. An OpenSolaris.org project could provide a reference platform to be used for robot competitions. Individual robots could use a standard reference platform based on OpenSolaris, the Roomba/Dirt-Dog, and arduinos and other small devices, but would be unique configurations and fabrications.
The sparkfun site has quite a list of devices that could be supported on this reference platform, such as: color light sensor, heart rate sensor, sound sensor, fingerprint reader, temp, LCD/text display, lights, GPS, compass, alcohol/gas sensor, accelerometer, camera, pressure sensor, humidity, infrared, Xbee, magnetic card reader, motion sensor, membrane potentiometer, and range finder.
For more fun with Roomba, see Hacking Roomba and the Hacking Rooba Projects Repository. And let us know what you think about starting an OpenSolaris project for this.
Posted at 07:28PM Jan 23, 2009 by alta in OpenSolaris | Comments[0]
OpenSolaris in VirtualBox and Playing MP3s
The latest issue of the OpenSolaris Ignite newsletter includes a screencast "that demonstrates an easy, risk-free way to take OpenSolaris for a spin in VirtualBox."
The January 2009 issue also contains a link to an article that describes how to play your MP3s on the OpenSolaris OS, a link to the forthcoming OpenSolaris Bible, reviews of the OpenSolaris 2008.11 release, and much more.
Ignite is our monthly newsletter by, for, and about the OpenSolaris community, featuring news, how-to articles, tech tips and reviews.
Go here (http://www.sun.com/emrkt/opensolaris/ignite/) to read the newsletter or to subscribe to have it delivered to your email box each month.
Posted at 02:06PM Jan 21, 2009 by alta in OpenSolaris | Comments[0]
The Process Is the Project
Recently I had the great pleasure of observing final project presentations given by students at San Francisco State University. The course, Global Software Engineering, taught by Gary Thompson of Sun and Dr. Dragutin Petkovic, Chair of the SFSU Computer Science Department, was a project management and collaboration course: project participation metrics. Each student project team created a web based application that gathers statistics from the collaborative development tools provided by java.net to allow university level instructors to assess and measure levels of teamwork within a collaborative development group.
I observed ten presentations. Six teams were all SFSU students; two teams included students from Florida Atlantic University in Boca Raton as well as students from SFSU; and two teams included students from University of Fulda in Fulda, Germany as well as students from SFSU. I was particularly interested to hear about any communication issues and how decisions were made in the project teams. Of special interest to me was how these issues were handled when some team members were in different time zones, three or eight hours away, and some team members spoke different native languages. Most teams preferred to have frequent team phone meetings; other teams divided the work so that team members in different locations handled separate pieces of the work and phone meetings were less frequent.
Posted at 09:55PM Jan 14, 2009 by alta in General | Comments[0]
Student Grantees Honored at Tech Days
One of the grant recipients in the OpenSolaris Undergraduate Student Research Grant Program was recognized on November 21 at Beijing Sun Tech Days.
The team of Zhou Li, Zhao Jinhua, Zhou Bin, and Zhang Yu from Huazhong University of Science and Technology in Wuhan, China gave a 30-minute presentation on their grant project, Application Flow Controller, in an OpenSolaris break-out session. In their presentation, the team described their project in detail and also showed a demonstration. After their presentation, the team answered questions from the audience. The team believes their project could be useful at many universities in China.
In a general session, Ian Murdock asked the team to help him throw gifts into the audience. The photo shows Murdock with the grant team: Zhang Yu, Zhou Bin, Ian Murdock, Zhou Li, and Zhao Jinhua.
Posted at 09:30AM Dec 01, 2008 by alta in OpenSolaris | Comments[0]
Linc Volt Comes to Sun
Today, Neil Young drove his Linc Volt to the Sun Microsystems Menlo Park campus.
For more information - and better photos - see lincvolt.com. Scroll about two-thirds of the way down the page to see the Sun Java logo.
The Java Connection The car is loaded with data gathering and reporting - powered by Java. Neil presented a preview of his career archive on Java-powered Blu-ray Disc at JavaOne 2008. At JavaOne 2009 you will be able to see the power consumption and other data streaming from the Linc Volt.
Left, two innovators:
James Gosling, creator of Java
Neil Young, music, Blu-ray, and green technologies innovator
Posted at 08:25PM Nov 11, 2008 by alta in General | Comments[0]
OpenSolaris Ignite
OpenSolaris Ignite is a new newsletter that you can sign up to receive monthly via email.
"Welcome to the OpenSolaris Ignite monthly newsletter by, for, and about the OpenSolaris community, featuring news, how-to articles, tech tips and reviews."
The newsletter is produced by Sun marketing, but they do invite readers to submit content ideas.
Also, be sure to read The Observatory: A Closer Look at Using OpenSolaris.
Posted at 12:07PM Oct 08, 2008 by alta in OpenSolaris | Comments[0]
Winners Are Announced!
Sun Announces Winners of OpenSolaris Community Innovation Awards
Some of our winners were honored in person at the keynote address at Sun Tech Days in Sao Paulo, Brazil on 29 September. One had this reaction:
It was a very, very nice the ceremony in Sun Tech Days!! Really great! I will put my checks on the wall... ;-)
[Winners received poster-sized replicas of their checks.]
Listen to interviews with winners: Sun Honors Community Awards Winners
OpenSolaris Community Innovation Awards - Contest Winners
For the contest portion of the OpenSolaris Community Innovation Awards Program, we received entries that are complete distributions, tools that will be useful to many other community members, documentation, and an art entry. See Contest Entries. You can download and try these entries yourself. Some of them already are OpenSolaris projects, and others might become projects and continue development on OpenSolaris.org.
In June, 2005, Sun Microsystems took the Free and Open Source Software (F/OSS) movement by surprise when they published the source code of Solaris - long considered the company's crown jewel - whose technical features, legendary stability and standards compliance is the "gold standard" for other Operating Systems (developers) to emulate. Initially there was a lot of scepticism and many predicted that Sun would never open up the latest/greatest technical gems like the ZFS file system and DTrace. The sceptics were proven wrong - and the OpenSolaris project is now over 3 years old, has a healthy and growing user community and continues to gain mind share. I am convinced that in the future, when a timeline depicting the history of computing is drawn, that the launch of OpenSolaris will be seen as a major "tick" on that timeline and will be viewed as the most significant event for 2005 and a precursor to the runaway success of the F/OSS revolution.
- Grand Prize Winner Al Hopper
Undergraduate Student Research Grant Recipients
For the student grants portion of the awards program, we received some fine proposals including DVD authoring software and an image storage and retrieval application. See Grant Proposals. The OpenSolaris Undergraduate Student Research Grant Program is intended to build working relationships between the OpenSolaris community and colleges, faculty, and students.
Community Members: If you are particularly interested in any of these projects, please post a note to the awards-program discussion forum. We need community members to get involved with these students, including to review monthly progress reports.
Posted at 12:23AM Oct 01, 2008 by alta in OpenSolaris | Comments[0]
FREE Solaris OS Training Courses
Sun Training offers some interesting free web-based courses for the Solaris OS.
Solaris 10: Ten Moves Ahead of the Competition (WS-245)
The Solaris 10: Ten Moves Ahead of the Competition course provides students with an overview of distinguishing features of the Solaris 10 Operating System (Solaris OS). This course combines high-level value proposition and introductory technical information to illustrate the advantages of using the Solaris 10 OS.
OpenSolaris Technical Essentials Guide (WS-1000-OS)
This web-based guide introduces the basic technical skills around the OpenSolaris operating system and guides you through various resources required to successfully install, use, administer, and distribute the OpenSolaris software.
If you are a student, take advantage of Sun Student Courses. You need an enrollment key from your teacher.
Introduction to Solaris and opensolaris.org, a free Sun Developer Network course
An introduction to the Solaris Operating Environment and the OpenSolaris open source project. You will learn about some key technologies that make the Solaris OS a leading Operating Environment: ZFS - a new generation of file systems, Solaris Containers - OS level Virtualization, and DTrace - a revolution in tracing frameworks.
Posted at 05:06PM Jul 14, 2008 by alta in Documentation | Comments[1]
Nitro Burning Builds
Want to Cut Your Build Time in Half?
Thanks to work done by Sasha Kolbasov and Jonathan Chew on Project Nitro, your Solaris OS/Networking (ON) consolidation build time could be cut in half.
Build times are cut most drastically for SPARC builds, but x64/x86 users benefit as well. Use b85 or later. For details, search for "parallel" in the changelog for b85. More improvement is coming.
The April SVOSUG meeting (Silicon Valley OpenSolaris User Group) was pretty lively. People who do not build ON regularly have experience with other large builds. Everyone shared ideas about how to speed up a build. People were very interested in the details of what Sasha and Jonathan have done to speed up the ON build, and almost as interested in the tools they invented to visualize where improvements were made and where more improvements might be made. There was much discussion at the meeting of precompiled header files and recursive make. Sasha and Jonathan discovered issues with precompiled header files in the ON build. The ON make system does use recursive make invocations, but make is difficult to parallelize well since all dependencies are not known at the top level.
The greatest reduction in build time was acheived by increasing parallelism in the build. This revealed interesting issues with missing build dependencies and race conditions. Some advice:
- Express dependencies correctly. Dependencies should be explicit and complete. Do not use .WAIT to manage dependencies. Use .WAIT to separate big chunks of work, but not to manage dependencies.
- Use .PARALLEL as much as possible.
- Look for parts of the build that have common prerequisites and build those prerequisites up front.
- Convert pattern-matching rules to explicit rules in Makefiles.
DTrace can help you understand what targets are built and why. DTrace is an extremely useful took for analyzing complex workloads. Use gnuplot to visualize the data. Testing under extreme load uncovers some races. Debugging race conditions takes a lot of time. Modern machines can do a lot in parallel. Flat Makefiles might provide better parallelism, but they are difficult to write.
Some of the tasks of this project:
- Eliminate duplicate work
- Eliminate unnecessary dependencies
- Manage dependencies to minimize incremental build time
- Enable more parallelism (multiple threads, cores, sockets, machines)
- Optimize tools
Some results of this project:
- Huge improvement from using the newest Sun Studio 11 lint(1B). Even bigger improvement on x86 than on SPARC.
- Smaller improvement from building with source and objects in /tmp for building debug and non-debug sequentially and in parallel.
- Big improvement using ZFS (instead of UFS) with 32 GB of RAM on x86. Much smaller improvement on SPARC.
- Small improvement on x86 from using the ccache free and open source tool.
- Small improvement on x86 from using the distcc free and open source tool.
Hopefully the slide set for this presentation will show up on the Project Nitro page soon.
Posted at 04:26PM May 12, 2008 by alta in General | Comments[0]
A Driver for a Sun SPOT
Jonathan Micklos, Sun Campus Ambassador at Purdue University, gave a presentation for the OpenSolaris ACM SIG titled, "Driver Development for OpenSolaris." This presentation does not provide details of how to write a device driver for the Solaris OS - it does something more fun than that.
For instructions on how to develop a driver, see Device Driver Development Resources. What Jon's presentation does instead is give students a reason to want to develop a Solaris driver.
Jon's presentation first gives a brief overview of Solaris drivers and how they are different from Linux drivers. He then discusses a ramdisk driver and its important code features. A third of the way through the presentation, Jon is telling us about Sun SPOTs. Do not think he has abandoned the topic of deivce drivers. Keep up. Two thirds of the way through the presentation is the page, "Next Step Past RAM Disk Driver: Can We Make a Sun SPOT Based Accelerometer Driver?" (The answer is on the next page - no peeking.) Jon talks about making the SPOT driver reusable and extensible. He talks about writing a driver in a layered fashion where much of the driver is written in Java, and there is a base driver with specialization on top.
This sounds like a fun project to get started with Solaris drivers. Maybe we will get to see more of this at JavaOne.
Posted at 10:44PM Apr 10, 2008 by alta in Device Support | Comments[2]
Get In On The Ground Floor
How Open Is OpenSolaris?
This question is hotly debated, but tonight at the SVOSUG (Silicon Valley OpenSolaris User Group meeting), participants were invited several times to join and contribute to a project that is still in the design phase: FMAC (Flexible Mandatory Access Control. A measure of how cool it is that this project is being developed in the open from the design phase is that the project is co-sponsored by one of the most secure organizations on the planet: the NSA (the U.S. National Security Agency).
John Weeks gave an overview of the current state of the design and current plans and invited everyone to visit the project web site and join the discussion. You don't have to contribute code; you can comment on the design, contribute a wish or requirement. Can you make a security policy easier to express? Can you help design a GUI? The project is being designed in the community, by the community.
Teaser: One exciting feature of the project is that you can change security policy on a running system; you do not have to bring the system down to modify the security policy. When a new policy is loaded, access decisions that have already been calculated are flushed and then recalculated at next access.
Coincidentally, the SVOSUG had a visitor tonight (Moriah Waterland) from the Caiman project (Solaris Install Revisited) - another project that has been in the open since the design phase.
And first, but not least, Alan DuBoff invited everyone to contribute to his OpenSolaris ON Build Cheatsheet. If you can install the Solaris OS, you should be able to build ON using this guide.
Posted at 11:01PM Mar 27, 2008 by alta in General | Comments[0]
Enter! Win$
Reminder: OpenSolaris Community Innovation Awards
Go to awards.opensolaris.org to register, declare an entry, and submit your entry. See the updated information on the OpenSolaris Community Innovation Awards Program site. Before you can register for the contest, you must already be registered as an OpenSolaris.org member. Before you can submit an entry, you must already have an SCA number. All types of entries are welcome. Deadline is June 13, 2008. See the web site for prizes, details on how to enter, and other information.
Posted at 07:41AM Mar 25, 2008 by alta in General | Comments[0]
Participant Countries Added to the Innovation Awards Programs
Eight Participant Countries Added to the Open Source Community Innovation Awards ProgramsEight countries have been added to the list of countries that can participate in the Open Source Community Innovation Awards programs. Currently, residents of the following countries can participate:
Argentina, Australia, Austria, Belgium, Brazil, Bulgaria, Cambodia, Canada, Chile, China, Croatia, Czech Republic, Denmark, Finland, France, Germany, Hungary, India, Indonesia, Ireland, Israel, Italy, Japan, Korea, Malaysia, Mexico, New Zealand, Norway, Peru, the Philippines, Poland, Romania, Russia, Singapore, South Africa, Spain, Sri Lanka, Sweden, Switzerland, Taiwan, Thailand, Turkey, the Netherlands, the United Kingdom, Venezuela, and the fifty United States and the District of Columbia
Check the official rules at each community contest web site for details.
Design a project and join in!
Posted at 04:52PM Feb 25, 2008 by alta in General | Comments[2]
Win Cash! Community Innovation Awards Programs
Participate in the Open Source Community Innovation Awards Programs!
Community Innovation Awards Program web site
Each of the following six open source communities is giving away $175,000 (USD). Each community has specified its own contest with its own rules. Prize winners will be announced in August 2008 and payments made by the end of September 2008.
The OpenSolaris community also will be announcing a student research grant program.
Posted at 01:42PM Feb 07, 2008 by alta in General | Comments[0]
Wednesday Feb 25, 2009
